@sendbird/uikit-react 3.4.7 → 3.4.8-rc.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 +46 -46
- package/App.js.map +1 -1
- package/CHANGELOG.md +26 -0
- package/Channel/components/ChannelHeader.js +18 -22
- package/Channel/components/ChannelHeader.js.map +1 -1
- package/Channel/components/ChannelUI.js +43 -43
- package/Channel/components/ChannelUI.js.map +1 -1
- package/Channel/components/FileViewer.js +14 -17
- package/Channel/components/FileViewer.js.map +1 -1
- package/Channel/components/FrozenNotification.js +4 -4
- package/Channel/components/FrozenNotification.js.map +1 -1
- package/Channel/components/Message.js +38 -38
- package/Channel/components/Message.js.map +1 -1
- package/Channel/components/MessageInput.js +30 -33
- package/Channel/components/MessageInput.js.map +1 -1
- package/Channel/components/MessageList.js +51 -44
- package/Channel/components/MessageList.js.map +1 -1
- package/Channel/components/RemoveMessageModal.js +16 -20
- package/Channel/components/RemoveMessageModal.js.map +1 -1
- package/Channel/components/SuggestedMentionList.js +18 -24
- package/Channel/components/SuggestedMentionList.js.map +1 -1
- package/Channel/components/TypingIndicator.js +14 -20
- package/Channel/components/TypingIndicator.js.map +1 -1
- package/Channel/components/UnreadCount.js +4 -4
- package/Channel/components/UnreadCount.js.map +1 -1
- package/Channel/context.js +11 -19
- package/Channel/context.js.map +1 -1
- package/Channel.js +43 -43
- package/Channel.js.map +1 -1
- package/ChannelList/components/AddChannel.js +14 -14
- package/ChannelList/components/AddChannel.js.map +1 -1
- package/ChannelList/components/ChannelListHeader.js +8 -8
- package/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/ChannelList/components/ChannelListUI.js +29 -30
- package/ChannelList/components/ChannelListUI.js.map +1 -1
- package/ChannelList/components/ChannelPreview.js +25 -28
- package/ChannelList/components/ChannelPreview.js.map +1 -1
- package/ChannelList/components/ChannelPreviewAction.js +17 -15
- package/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/ChannelList/context.js +7 -7
- package/ChannelList.js +29 -30
- package/ChannelList.js.map +1 -1
- package/{ChannelListProvider-8be91a05.js → ChannelListProvider-e8ad86b6.js} +15 -19
- package/ChannelListProvider-e8ad86b6.js.map +1 -0
- package/{ChannelProvider-d643e6d9.js → ChannelProvider-6de56b36.js} +13 -97
- package/ChannelProvider-6de56b36.js.map +1 -0
- package/ChannelSettings/components/ChannelProfile.js +11 -11
- package/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/ChannelSettings/components/LeaveChannel.js +11 -11
- package/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/ChannelSettings/components/ModerationPanel.js +14 -14
- package/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/ChannelSettings/components/UserListItem.js +10 -10
- package/ChannelSettings/components/UserListItem.js.map +1 -1
- package/ChannelSettings/components/UserPanel.js +13 -13
- package/ChannelSettings/components/UserPanel.js.map +1 -1
- package/ChannelSettings/context.js +3 -3
- package/ChannelSettings/context.js.map +1 -1
- package/ChannelSettings.js +18 -18
- package/ChannelSettings.js.map +1 -1
- package/CreateChannel/components/CreateChannelUI.js +13 -13
- package/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/CreateChannel/components/InviteUsers.js +14 -14
- package/CreateChannel/components/InviteUsers.js.map +1 -1
- package/CreateChannel/components/SelectChannelType.js +10 -10
- package/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/CreateChannel/context.js +4 -4
- package/CreateChannel.js +13 -13
- package/CreateChannel.js.map +1 -1
- package/{CreateChannelProvider-5674e81b.js → CreateChannelProvider-64578d2a.js} +1 -1
- package/{CreateChannelProvider-5674e81b.js.map → CreateChannelProvider-64578d2a.js.map} +1 -1
- package/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/CreateOpenChannel/context.js +1 -1
- package/CreateOpenChannel/context.js.map +1 -1
- package/CreateOpenChannel.js +9 -9
- package/CreateOpenChannel.js.map +1 -1
- package/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/EditUserProfile/context.js.map +1 -1
- package/EditUserProfile.js +12 -12
- package/EditUserProfile.js.map +1 -1
- package/{LocalizationContext-ad70364c.js → LocalizationContext-7ae12588.js} +3 -3
- package/{LocalizationContext-ad70364c.js.map → LocalizationContext-7ae12588.js.map} +1 -1
- package/{MediaQueryContext-4e555ef5.js → MediaQueryContext-05d4db73.js} +1 -1
- package/MediaQueryContext-05d4db73.js.map +1 -0
- package/{MemberList-24b818f8.js → MemberList-9634fee8.js} +5 -5
- package/MemberList-9634fee8.js.map +1 -0
- package/Message/context.js.map +1 -1
- package/MessageSearch/components/MessageSearchUI.js +11 -11
- package/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/MessageSearch/context.js +1 -1
- package/MessageSearch/context.js.map +1 -1
- package/MessageSearch.js +11 -11
- package/MessageSearch.js.map +1 -1
- package/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/OpenChannel/components/OpenChannelInput.js +18 -18
- package/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessage.js +27 -32
- package/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/OpenChannel/components/OpenChannelUI.js +31 -31
- package/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/OpenChannel/context.js +8 -8
- package/OpenChannel.js +31 -31
- package/OpenChannel.js.map +1 -1
- package/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/OpenChannelList/context.js +3 -3
- package/OpenChannelList.js +13 -13
- package/OpenChannelList.js.map +1 -1
- package/{OpenChannelListProvider-27822936.js → OpenChannelListProvider-f6a88782.js} +3 -3
- package/{OpenChannelListProvider-27822936.js.map → OpenChannelListProvider-f6a88782.js.map} +1 -1
- package/{OpenChannelProvider-5148963b.js → OpenChannelProvider-f1a4b4fa.js} +9 -7
- package/OpenChannelProvider-f1a4b4fa.js.map +1 -0
- package/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/OpenChannelSettings/context.js +3 -3
- package/OpenChannelSettings/context.js.map +1 -1
- package/OpenChannelSettings.js +17 -17
- package/OpenChannelSettings.js.map +1 -1
- package/README.md +28 -8
- package/{RemoveMessageModal-54d1b0a4.js → RemoveMessageModal-2b9bdeed.js} +3 -3
- package/{RemoveMessageModal-54d1b0a4.js.map → RemoveMessageModal-2b9bdeed.js.map} +1 -1
- package/SendbirdProvider.js +13 -13
- package/SendbirdProvider.js.map +1 -1
- package/Thread/components/ParentMessageInfo.js +32 -32
- package/Thread/components/ParentMessageInfo.js.map +1 -1
- package/Thread/components/ParentMessageInfoItem.js +18 -18
- package/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/Thread/components/ThreadHeader.js +6 -6
- package/Thread/components/ThreadHeader.js.map +1 -1
- package/Thread/components/ThreadList.js +35 -35
- package/Thread/components/ThreadList.js.map +1 -1
- package/Thread/components/ThreadListItem.js +34 -34
- package/Thread/components/ThreadListItem.js.map +1 -1
- package/Thread/components/ThreadMessageInput.js +28 -31
- package/Thread/components/ThreadMessageInput.js.map +1 -1
- package/Thread/components/ThreadUI.js +36 -36
- package/Thread/components/ThreadUI.js.map +1 -1
- package/Thread/context.js +8 -8
- package/Thread.js +36 -36
- package/Thread.js.map +1 -1
- package/{ThreadProvider-96a5e77e.js → ThreadProvider-5a216f9d.js} +7 -7
- package/ThreadProvider-5a216f9d.js.map +1 -0
- package/{UserProfileContext-b68f33fc.js → UserProfileContext-e8124c47.js} +1 -1
- package/{UserProfileContext-b68f33fc.js.map → UserProfileContext-e8124c47.js.map} +1 -1
- package/{VoiceMessageInputWrapper-07631f8d.js → VoiceMessageInputWrapper-ce56172a.js} +8 -8
- package/VoiceMessageInputWrapper-ce56172a.js.map +1 -0
- package/VoicePlayer/context.js +3 -3
- package/VoicePlayer/useVoicePlayer.js +6 -6
- package/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/VoiceRecorder/context.js +6 -6
- package/VoiceRecorder/context.js.map +1 -1
- package/VoiceRecorder/useVoiceRecorder.js +3 -2
- package/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/{WebAudioUtils-3fb13b51.js → WebAudioUtils-6229e96a.js} +1 -1
- package/{WebAudioUtils-3fb13b51.js.map → WebAudioUtils-6229e96a.js.map} +1 -1
- package/{_rollupPluginBabelHelpers-5d0c716a.js → _rollupPluginBabelHelpers-96062e23.js} +1 -1
- package/_rollupPluginBabelHelpers-96062e23.js.map +1 -0
- package/{actionTypes-b270327e.js → actionTypes-423a1fac.js} +1 -1
- package/{actionTypes-b270327e.js.map → actionTypes-423a1fac.js.map} +1 -1
- package/cjs/App.js +46 -46
- package/cjs/App.js.map +1 -1
- package/cjs/Channel/components/ChannelHeader.js +18 -22
- package/cjs/Channel/components/ChannelHeader.js.map +1 -1
- package/cjs/Channel/components/ChannelUI.js +43 -43
- package/cjs/Channel/components/ChannelUI.js.map +1 -1
- package/cjs/Channel/components/FileViewer.js +14 -17
- package/cjs/Channel/components/FileViewer.js.map +1 -1
- package/cjs/Channel/components/FrozenNotification.js +4 -4
- package/cjs/Channel/components/FrozenNotification.js.map +1 -1
- package/cjs/Channel/components/Message.js +38 -38
- package/cjs/Channel/components/Message.js.map +1 -1
- package/cjs/Channel/components/MessageInput.js +30 -33
- package/cjs/Channel/components/MessageInput.js.map +1 -1
- package/cjs/Channel/components/MessageList.js +51 -44
- package/cjs/Channel/components/MessageList.js.map +1 -1
- package/cjs/Channel/components/RemoveMessageModal.js +16 -20
- package/cjs/Channel/components/RemoveMessageModal.js.map +1 -1
- package/cjs/Channel/components/SuggestedMentionList.js +18 -24
- package/cjs/Channel/components/SuggestedMentionList.js.map +1 -1
- package/cjs/Channel/components/TypingIndicator.js +14 -20
- package/cjs/Channel/components/TypingIndicator.js.map +1 -1
- package/cjs/Channel/components/UnreadCount.js +4 -4
- package/cjs/Channel/components/UnreadCount.js.map +1 -1
- package/cjs/Channel/context.js +11 -19
- package/cjs/Channel/context.js.map +1 -1
- package/cjs/Channel.js +43 -43
- package/cjs/Channel.js.map +1 -1
- package/cjs/ChannelList/components/AddChannel.js +14 -14
- package/cjs/ChannelList/components/AddChannel.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListHeader.js +8 -8
- package/cjs/ChannelList/components/ChannelListHeader.js.map +1 -1
- package/cjs/ChannelList/components/ChannelListUI.js +29 -30
- package/cjs/ChannelList/components/ChannelListUI.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreview.js +25 -28
- package/cjs/ChannelList/components/ChannelPreview.js.map +1 -1
- package/cjs/ChannelList/components/ChannelPreviewAction.js +17 -15
- package/cjs/ChannelList/components/ChannelPreviewAction.js.map +1 -1
- package/cjs/ChannelList/context.js +7 -7
- package/cjs/ChannelList.js +29 -30
- package/cjs/ChannelList.js.map +1 -1
- package/cjs/{ChannelListProvider-6b61a484.js → ChannelListProvider-2bcdc671.js} +15 -19
- package/cjs/ChannelListProvider-2bcdc671.js.map +1 -0
- package/cjs/{ChannelProvider-12a12f31.js → ChannelProvider-2a01302b.js} +12 -96
- package/cjs/ChannelProvider-2a01302b.js.map +1 -0
- package/cjs/ChannelSettings/components/ChannelProfile.js +11 -11
- package/cjs/ChannelSettings/components/ChannelProfile.js.map +1 -1
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js +17 -17
- package/cjs/ChannelSettings/components/ChannelSettingsUI.js.map +1 -1
- package/cjs/ChannelSettings/components/EditDetailsModal.js +11 -11
- package/cjs/ChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/ChannelSettings/components/LeaveChannel.js +11 -11
- package/cjs/ChannelSettings/components/LeaveChannel.js.map +1 -1
- package/cjs/ChannelSettings/components/ModerationPanel.js +14 -14
- package/cjs/ChannelSettings/components/ModerationPanel.js.map +1 -1
- package/cjs/ChannelSettings/components/UserListItem.js +10 -10
- package/cjs/ChannelSettings/components/UserListItem.js.map +1 -1
- package/cjs/ChannelSettings/components/UserPanel.js +13 -13
- package/cjs/ChannelSettings/components/UserPanel.js.map +1 -1
- package/cjs/ChannelSettings/context.js +3 -3
- package/cjs/ChannelSettings/context.js.map +1 -1
- package/cjs/ChannelSettings.js +18 -18
- package/cjs/ChannelSettings.js.map +1 -1
- package/cjs/CreateChannel/components/CreateChannelUI.js +13 -13
- package/cjs/CreateChannel/components/CreateChannelUI.js.map +1 -1
- package/cjs/CreateChannel/components/InviteUsers.js +14 -14
- package/cjs/CreateChannel/components/InviteUsers.js.map +1 -1
- package/cjs/CreateChannel/components/SelectChannelType.js +10 -10
- package/cjs/CreateChannel/components/SelectChannelType.js.map +1 -1
- package/cjs/CreateChannel/context.js +4 -4
- package/cjs/CreateChannel.js +13 -13
- package/cjs/CreateChannel.js.map +1 -1
- package/cjs/{CreateChannelProvider-2beb2415.js → CreateChannelProvider-8f7d9505.js} +1 -1
- package/cjs/{CreateChannelProvider-2beb2415.js.map → CreateChannelProvider-8f7d9505.js.map} +1 -1
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js +9 -9
- package/cjs/CreateOpenChannel/components/CreateOpenChannelUI.js.map +1 -1
- package/cjs/CreateOpenChannel/context.js +1 -1
- package/cjs/CreateOpenChannel/context.js.map +1 -1
- package/cjs/CreateOpenChannel.js +9 -9
- package/cjs/CreateOpenChannel.js.map +1 -1
- package/cjs/EditUserProfile/components/EditUserProfileUI.js +12 -12
- package/cjs/EditUserProfile/context.js.map +1 -1
- package/cjs/EditUserProfile.js +12 -12
- package/cjs/EditUserProfile.js.map +1 -1
- package/cjs/{LocalizationContext-30772f4a.js → LocalizationContext-975ffc10.js} +3 -3
- package/cjs/{LocalizationContext-30772f4a.js.map → LocalizationContext-975ffc10.js.map} +1 -1
- package/cjs/{MediaQueryContext-3b09499c.js → MediaQueryContext-302f1c4f.js} +1 -1
- package/cjs/MediaQueryContext-302f1c4f.js.map +1 -0
- package/cjs/{MemberList-f0c4e234.js → MemberList-0c0c303c.js} +5 -5
- package/cjs/MemberList-0c0c303c.js.map +1 -0
- package/cjs/Message/context.js.map +1 -1
- package/cjs/MessageSearch/components/MessageSearchUI.js +11 -11
- package/cjs/MessageSearch/components/MessageSearchUI.js.map +1 -1
- package/cjs/MessageSearch/context.js +1 -1
- package/cjs/MessageSearch/context.js.map +1 -1
- package/cjs/MessageSearch.js +11 -11
- package/cjs/MessageSearch.js.map +1 -1
- package/cjs/OpenChannel/components/FrozenChannelNotification.js +4 -4
- package/cjs/OpenChannel/components/FrozenChannelNotification.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelHeader.js +12 -12
- package/cjs/OpenChannel/components/OpenChannelHeader.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelInput.js +18 -18
- package/cjs/OpenChannel/components/OpenChannelInput.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessage.js +27 -32
- package/cjs/OpenChannel/components/OpenChannelMessage.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelMessageList.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelMessageList.js.map +1 -1
- package/cjs/OpenChannel/components/OpenChannelUI.js +31 -31
- package/cjs/OpenChannel/components/OpenChannelUI.js.map +1 -1
- package/cjs/OpenChannel/context.js +8 -8
- package/cjs/OpenChannel.js +31 -31
- package/cjs/OpenChannel.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelListUI.js +13 -13
- package/cjs/OpenChannelList/components/OpenChannelListUI.js.map +1 -1
- package/cjs/OpenChannelList/components/OpenChannelPreview.js +3 -3
- package/cjs/OpenChannelList/components/OpenChannelPreview.js.map +1 -1
- package/cjs/OpenChannelList/context.js +3 -3
- package/cjs/OpenChannelList.js +13 -13
- package/cjs/OpenChannelList.js.map +1 -1
- package/cjs/{OpenChannelListProvider-d48bd733.js → OpenChannelListProvider-ef3655ce.js} +3 -3
- package/cjs/{OpenChannelListProvider-d48bd733.js.map → OpenChannelListProvider-ef3655ce.js.map} +1 -1
- package/cjs/{OpenChannelProvider-56846c0c.js → OpenChannelProvider-c500275a.js} +9 -7
- package/cjs/OpenChannelProvider-c500275a.js.map +1 -0
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js +13 -13
- package/cjs/OpenChannelSettings/components/EditDetailsModal.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js +12 -12
- package/cjs/OpenChannelSettings/components/OpenChannelProfile.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js +17 -17
- package/cjs/OpenChannelSettings/components/OpenChannelSettingsUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/OperatorUI.js +16 -16
- package/cjs/OpenChannelSettings/components/OperatorUI.js.map +1 -1
- package/cjs/OpenChannelSettings/components/ParticipantUI.js +14 -14
- package/cjs/OpenChannelSettings/context.js +3 -3
- package/cjs/OpenChannelSettings/context.js.map +1 -1
- package/cjs/OpenChannelSettings.js +17 -17
- package/cjs/OpenChannelSettings.js.map +1 -1
- package/cjs/{RemoveMessageModal-e0480b7c.js → RemoveMessageModal-f8277edf.js} +3 -3
- package/cjs/{RemoveMessageModal-e0480b7c.js.map → RemoveMessageModal-f8277edf.js.map} +1 -1
- package/cjs/SendbirdProvider.js +13 -13
- package/cjs/SendbirdProvider.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfo.js +32 -32
- package/cjs/Thread/components/ParentMessageInfo.js.map +1 -1
- package/cjs/Thread/components/ParentMessageInfoItem.js +18 -18
- package/cjs/Thread/components/ParentMessageInfoItem.js.map +1 -1
- package/cjs/Thread/components/ThreadHeader.js +6 -6
- package/cjs/Thread/components/ThreadHeader.js.map +1 -1
- package/cjs/Thread/components/ThreadList.js +35 -35
- package/cjs/Thread/components/ThreadList.js.map +1 -1
- package/cjs/Thread/components/ThreadListItem.js +34 -34
- package/cjs/Thread/components/ThreadListItem.js.map +1 -1
- package/cjs/Thread/components/ThreadMessageInput.js +28 -31
- package/cjs/Thread/components/ThreadMessageInput.js.map +1 -1
- package/cjs/Thread/components/ThreadUI.js +36 -36
- package/cjs/Thread/components/ThreadUI.js.map +1 -1
- package/cjs/Thread/context.js +8 -8
- package/cjs/Thread.js +36 -36
- package/cjs/Thread.js.map +1 -1
- package/cjs/{ThreadProvider-1ebd5bc0.js → ThreadProvider-e8f49239.js} +7 -7
- package/cjs/ThreadProvider-e8f49239.js.map +1 -0
- package/cjs/{UserProfileContext-eb5a10d6.js → UserProfileContext-8b19c6c3.js} +1 -1
- package/cjs/{UserProfileContext-eb5a10d6.js.map → UserProfileContext-8b19c6c3.js.map} +1 -1
- package/cjs/{VoiceMessageInputWrapper-044427b2.js → VoiceMessageInputWrapper-5dfaba8f.js} +8 -8
- package/cjs/VoiceMessageInputWrapper-5dfaba8f.js.map +1 -0
- package/cjs/VoicePlayer/context.js +3 -3
- package/cjs/VoicePlayer/useVoicePlayer.js +6 -6
- package/cjs/VoicePlayer/useVoicePlayer.js.map +1 -1
- package/cjs/VoiceRecorder/context.js +6 -6
- package/cjs/VoiceRecorder/context.js.map +1 -1
- package/cjs/VoiceRecorder/useVoiceRecorder.js +3 -2
- package/cjs/VoiceRecorder/useVoiceRecorder.js.map +1 -1
- package/cjs/{WebAudioUtils-57d7e366.js → WebAudioUtils-2bd92ed1.js} +1 -1
- package/cjs/{WebAudioUtils-57d7e366.js.map → WebAudioUtils-2bd92ed1.js.map} +1 -1
- package/cjs/{_rollupPluginBabelHelpers-4b6406c2.js → _rollupPluginBabelHelpers-596e2aef.js} +1 -1
- package/cjs/_rollupPluginBabelHelpers-596e2aef.js.map +1 -0
- package/cjs/{actionTypes-f66e00c2.js → actionTypes-29997777.js} +1 -1
- package/cjs/{actionTypes-f66e00c2.js.map → actionTypes-29997777.js.map} +1 -1
- package/cjs/{color-4904d01e.js → color-ac868fc0.js} +1 -1
- package/cjs/{color-4904d01e.js.map → color-ac868fc0.js.map} +1 -1
- package/cjs/{compareIds-de8d3b96.js → compareIds-3c9472b4.js} +2 -2
- package/cjs/compareIds-3c9472b4.js.map +1 -0
- package/cjs/{const-97ad0ae2.js → const-7b049118.js} +1 -1
- package/cjs/{const-97ad0ae2.js.map → const-7b049118.js.map} +1 -1
- package/cjs/{const-bba9510b.js → const-7d011d30.js} +1 -1
- package/cjs/{const-bba9510b.js.map → const-7d011d30.js.map} +1 -1
- package/cjs/{consts-6acebb51.js → consts-6cf0ec85.js} +1 -1
- package/cjs/{consts-6acebb51.js.map → consts-6cf0ec85.js.map} +1 -1
- package/cjs/{consts-cafff484.js → consts-9cbf147c.js} +1 -1
- package/cjs/{consts-cafff484.js.map → consts-9cbf147c.js.map} +1 -1
- package/cjs/{consts-a235ce0a.js → consts-d9ff7fec.js} +1 -1
- package/cjs/{consts-a235ce0a.js.map → consts-d9ff7fec.js.map} +1 -1
- package/cjs/{consts-cb169c09.js → consts-df222988.js} +1 -1
- package/cjs/{consts-cb169c09.js.map → consts-df222988.js.map} +1 -1
- package/cjs/{context-e6181d31.js → context-1d31dbec.js} +2 -2
- package/cjs/{context-e6181d31.js.map → context-1d31dbec.js.map} +1 -1
- package/cjs/dist/index.css +164 -163
- package/cjs/dist/index.css.map +1 -1
- package/cjs/{index-df637378.js → index-0b24e87b.js} +5 -5
- package/cjs/index-0b24e87b.js.map +1 -0
- package/cjs/{index-0514e373.js → index-0d2fba98.js} +7 -6
- package/cjs/index-0d2fba98.js.map +1 -0
- package/cjs/{index-43612435.js → index-1a324d07.js} +4 -4
- package/cjs/{index-43612435.js.map → index-1a324d07.js.map} +1 -1
- package/cjs/{index-34cc612a.js → index-263d9317.js} +5 -4
- package/cjs/index-263d9317.js.map +1 -0
- package/cjs/{index-d2bd7dc5.js → index-334b239a.js} +2 -2
- package/cjs/index-334b239a.js.map +1 -0
- package/cjs/{index-2a770f35.js → index-46b412dc.js} +37 -7
- package/cjs/index-46b412dc.js.map +1 -0
- package/cjs/{index-9f6f371b.js → index-50655872.js} +6 -6
- package/cjs/index-50655872.js.map +1 -0
- package/cjs/{index-4de6caed.js → index-551be60f.js} +16 -8
- package/cjs/index-551be60f.js.map +1 -0
- package/cjs/{index-986b886d.js → index-7ffe6f27.js} +12 -3
- package/cjs/index-7ffe6f27.js.map +1 -0
- package/cjs/{index-223d453c.js → index-8d2c0bda.js} +4 -2
- package/cjs/index-8d2c0bda.js.map +1 -0
- package/cjs/{index-b2886b93.js → index-8fc4c8ed.js} +12 -12
- package/cjs/index-8fc4c8ed.js.map +1 -0
- package/cjs/{index-ca85a10a.js → index-9dd778ed.js} +193 -56
- package/cjs/index-9dd778ed.js.map +1 -0
- package/cjs/{index-80b17a7f.js → index-bb91f996.js} +2 -2
- package/cjs/{index-80b17a7f.js.map → index-bb91f996.js.map} +1 -1
- package/cjs/{index-5fd03280.js → index-e36db682.js} +1 -1
- package/cjs/index-e36db682.js.map +1 -0
- package/cjs/{index-6d3fe482.js → index-f0938824.js} +30 -10
- package/cjs/index-f0938824.js.map +1 -0
- package/cjs/{index-2c8ca1d6.js → index-f4cf9eb5.js} +3 -3
- package/cjs/{index-2c8ca1d6.js.map → index-f4cf9eb5.js.map} +1 -1
- package/cjs/index.js +49 -49
- package/cjs/{index.module-f4ff21b1.js → index.module-2d344ee2.js} +1 -1
- package/cjs/{index.module-f4ff21b1.js.map → index.module-2d344ee2.js.map} +1 -1
- package/cjs/lame.all.js.map +1 -1
- package/cjs/sendbirdSelectors.js +3 -3
- package/cjs/sendbirdSelectors.js.map +1 -1
- package/cjs/{stringSet-2b481a03.js → stringSet-ac04b7c1.js} +1 -1
- package/cjs/{stringSet-2b481a03.js.map → stringSet-ac04b7c1.js.map} +1 -1
- package/cjs/{tokenize-07747f4c.js → tokenize-10b9c2ca.js} +27 -7
- package/cjs/tokenize-10b9c2ca.js.map +1 -0
- package/cjs/{topics-f9cf559a.js → topics-89c25bd7.js} +1 -1
- package/cjs/{topics-f9cf559a.js.map → topics-89c25bd7.js.map} +1 -1
- package/cjs/{types-3dcd9651.js → types-53455550.js} +1 -1
- package/cjs/types-53455550.js.map +1 -0
- package/cjs/ui/Accordion.js +2 -2
- package/cjs/ui/Accordion.js.map +1 -1
- package/cjs/ui/AccordionGroup.js +2 -2
- package/cjs/ui/AccordionGroup.js.map +1 -1
- package/cjs/ui/AdminMessage.js +2 -2
- package/cjs/ui/AdminMessage.js.map +1 -1
- package/cjs/ui/Avatar.js +1 -1
- package/cjs/ui/Avatar.js.map +1 -1
- package/cjs/ui/Badge.js +4 -4
- package/cjs/ui/Badge.js.map +1 -1
- package/cjs/ui/BottomSheet.js +1 -1
- package/cjs/ui/BottomSheet.js.map +1 -1
- package/cjs/ui/Button.js +2 -2
- package/cjs/ui/Button.js.map +1 -1
- package/cjs/ui/ChannelAvatar.js +2 -2
- package/cjs/ui/ChannelAvatar.js.map +1 -1
- package/cjs/ui/Checkbox.js.map +1 -1
- package/cjs/ui/ConnectionStatus.js +4 -4
- package/cjs/ui/ConnectionStatus.js.map +1 -1
- package/cjs/ui/ContextMenu.js +5 -5
- package/cjs/ui/ContextMenu.js.map +1 -1
- package/cjs/ui/DateSeparator.js +3 -3
- package/cjs/ui/DateSeparator.js.map +1 -1
- package/cjs/ui/EmojiReactions.js +7 -7
- package/cjs/ui/EmojiReactions.js.map +1 -1
- package/cjs/ui/FileMessageItemBody.js +6 -6
- package/cjs/ui/FileMessageItemBody.js.map +1 -1
- package/cjs/ui/FileViewer.js +8 -8
- package/cjs/ui/FileViewer.js.map +1 -1
- package/cjs/ui/Icon.js +2 -0
- package/cjs/ui/Icon.js.map +1 -1
- package/cjs/ui/IconButton.js +1 -1
- package/cjs/ui/IconButton.js.map +1 -1
- package/cjs/ui/ImageRenderer.js.map +1 -1
- package/cjs/ui/Input.js +2 -2
- package/cjs/ui/Input.js.map +1 -1
- package/cjs/ui/Label.js +2 -2
- package/cjs/ui/LinkLabel.js +2 -2
- package/cjs/ui/LinkLabel.js.map +1 -1
- package/cjs/ui/Loader.js.map +1 -1
- package/cjs/ui/MentionLabel.js +10 -10
- package/cjs/ui/MentionLabel.js.map +1 -1
- package/cjs/ui/MentionUserLabel.js +1 -1
- package/cjs/ui/MentionUserLabel.js.map +1 -1
- package/cjs/ui/MessageContent.js +34 -34
- package/cjs/ui/MessageContent.js.map +1 -1
- package/cjs/ui/MessageInput.js +63 -37
- package/cjs/ui/MessageInput.js.map +1 -1
- package/cjs/ui/MessageItemMenu.js +8 -8
- package/cjs/ui/MessageItemMenu.js.map +1 -1
- package/cjs/ui/MessageItemReactionMenu.js +5 -5
- package/cjs/ui/MessageItemReactionMenu.js.map +1 -1
- package/cjs/ui/MessageSearchFileItem.js +10 -10
- package/cjs/ui/MessageSearchFileItem.js.map +1 -1
- package/cjs/ui/MessageSearchItem.js +8 -8
- package/cjs/ui/MessageSearchItem.js.map +1 -1
- package/cjs/ui/MessageStatus.js +10 -10
- package/cjs/ui/Modal.js +7 -7
- package/cjs/ui/Modal.js.map +1 -1
- package/cjs/ui/MutedAvatarOverlay.js.map +1 -1
- package/cjs/ui/OGMessageItemBody.js +14 -14
- package/cjs/ui/OGMessageItemBody.js.map +1 -1
- package/cjs/ui/OpenChannelAdminMessage.js +2 -2
- package/cjs/ui/OpenChannelAdminMessage.js.map +1 -1
- package/cjs/ui/OpenChannelAvatar.js +5 -5
- package/cjs/ui/OpenChannelAvatar.js.map +1 -1
- package/cjs/ui/OpenchannelConversationHeader.js +6 -6
- package/cjs/ui/OpenchannelConversationHeader.js.map +1 -1
- package/cjs/ui/OpenchannelFileMessage.js +15 -15
- package/cjs/ui/OpenchannelFileMessage.js.map +1 -1
- package/cjs/ui/OpenchannelOGMessage.js +18 -18
- package/cjs/ui/OpenchannelOGMessage.js.map +1 -1
- package/cjs/ui/OpenchannelThumbnailMessage.js +16 -16
- package/cjs/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/cjs/ui/OpenchannelUserMessage.js +15 -15
- package/cjs/ui/OpenchannelUserMessage.js.map +1 -1
- package/cjs/ui/PlaceHolder.js +5 -5
- package/cjs/ui/PlaybackTime.js +2 -2
- package/cjs/ui/PlaybackTime.js.map +1 -1
- package/cjs/ui/ProgressBar.js +1 -0
- package/cjs/ui/ProgressBar.js.map +1 -1
- package/cjs/ui/QuoteMessage.js +6 -6
- package/cjs/ui/QuoteMessage.js.map +1 -1
- package/cjs/ui/QuoteMessageInput.js +6 -6
- package/cjs/ui/QuoteMessageInput.js.map +1 -1
- package/cjs/ui/ReactionBadge.js +2 -2
- package/cjs/ui/ReactionBadge.js.map +1 -1
- package/cjs/ui/ReactionButton.js.map +1 -1
- package/cjs/ui/SortByRow.js +1 -1
- package/cjs/ui/SortByRow.js.map +1 -1
- package/cjs/ui/TextButton.js +1 -1
- package/cjs/ui/TextButton.js.map +1 -1
- package/cjs/ui/TextMessageItemBody.js +15 -15
- package/cjs/ui/TextMessageItemBody.js.map +1 -1
- package/cjs/ui/ThreadReplies.js +5 -5
- package/cjs/ui/ThreadReplies.js.map +1 -1
- package/cjs/ui/ThumbnailMessageItemBody.js +2 -2
- package/cjs/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/cjs/ui/Toggle.js +1 -1
- package/cjs/ui/Toggle.js.map +1 -1
- package/cjs/ui/Tooltip.js +2 -2
- package/cjs/ui/Tooltip.js.map +1 -1
- package/cjs/ui/TooltipWrapper.js.map +1 -1
- package/cjs/ui/UnknownMessageItemBody.js +6 -6
- package/cjs/ui/UnknownMessageItemBody.js.map +1 -1
- package/cjs/ui/UserListItem.js +10 -10
- package/cjs/ui/UserListItem.js.map +1 -1
- package/cjs/ui/UserProfile.js +9 -9
- package/cjs/ui/UserProfile.js.map +1 -1
- package/cjs/ui/VoiceMessageItemBody.js +9 -9
- package/cjs/ui/VoiceMessageItemBody.js.map +1 -1
- package/cjs/ui/VoiceMessgeInput.js +7 -7
- package/cjs/ui/Word.js +13 -13
- package/cjs/ui/Word.js.map +1 -1
- package/cjs/{useLongPress-ab63a990.js → useLongPress-472493f7.js} +3 -3
- package/cjs/useLongPress-472493f7.js.map +1 -0
- package/cjs/useSendbirdStateContext.js +1 -1
- package/cjs/utils/message/getOutgoingMessageState.js.map +1 -1
- package/cjs/utils/message/isVoiceMessage.js +2 -2
- package/cjs/{utils-1fd1fe8c.js → utils-40b8c201.js} +1 -1
- package/cjs/utils-40b8c201.js.map +1 -0
- package/cjs/{utils-7e52a10a.js → utils-76562fb5.js} +2 -2
- package/cjs/{utils-7e52a10a.js.map → utils-76562fb5.js.map} +1 -1
- package/cjs/{utils-f6f55335.js → utils-eadc245c.js} +1 -1
- package/cjs/{utils-f6f55335.js.map → utils-eadc245c.js.map} +1 -1
- package/cjs/{utils-f6c4e216.js → utils-fdce7855.js} +1 -1
- package/cjs/{utils-f6c4e216.js.map → utils-fdce7855.js.map} +1 -1
- package/cjs/{uuid-d0dd45eb.js → uuid-d5eb7040.js} +1 -1
- package/cjs/{uuid-d0dd45eb.js.map → uuid-d5eb7040.js.map} +1 -1
- package/cjs/withSendbird.js +1 -1
- package/cjs/withSendbird.js.map +1 -1
- package/{color-c30f00bf.js → color-d6b38e25.js} +1 -1
- package/{color-c30f00bf.js.map → color-d6b38e25.js.map} +1 -1
- package/{compareIds-90440dc5.js → compareIds-f38c2ef0.js} +2 -2
- package/compareIds-f38c2ef0.js.map +1 -0
- package/{const-5e916a50.js → const-051188d1.js} +1 -1
- package/{const-5e916a50.js.map → const-051188d1.js.map} +1 -1
- package/{const-582ca435.js → const-f6d56818.js} +1 -1
- package/{const-582ca435.js.map → const-f6d56818.js.map} +1 -1
- package/{consts-ee90b622.js → consts-04eece0c.js} +1 -1
- package/{consts-ee90b622.js.map → consts-04eece0c.js.map} +1 -1
- package/{consts-6e63357c.js → consts-a6286ca6.js} +1 -1
- package/{consts-6e63357c.js.map → consts-a6286ca6.js.map} +1 -1
- package/{consts-35dda142.js → consts-da8a20c9.js} +1 -1
- package/{consts-35dda142.js.map → consts-da8a20c9.js.map} +1 -1
- package/{consts-a7fe5f4a.js → consts-dd1513d3.js} +1 -1
- package/{consts-a7fe5f4a.js.map → consts-dd1513d3.js.map} +1 -1
- package/{context-8a77d287.js → context-0e43d2e6.js} +2 -2
- package/{context-8a77d287.js.map → context-0e43d2e6.js.map} +1 -1
- package/dist/index.css +164 -163
- package/dist/index.css.map +1 -1
- package/{index-2bcc4298.js → index-01ac0ba4.js} +7 -6
- package/index-01ac0ba4.js.map +1 -0
- package/{index-8f5c7f74.js → index-0533e5e9.js} +2 -2
- package/index-0533e5e9.js.map +1 -0
- package/{index-1e1cb669.js → index-06784b87.js} +1 -1
- package/index-06784b87.js.map +1 -0
- package/{index-8e3a9e8c.js → index-2857db82.js} +12 -12
- package/index-2857db82.js.map +1 -0
- package/{index-062a4eeb.js → index-3f4521c1.js} +2 -2
- package/{index-062a4eeb.js.map → index-3f4521c1.js.map} +1 -1
- package/{index-4d66cb77.js → index-46f6d854.js} +38 -8
- package/index-46f6d854.js.map +1 -0
- package/{index-303eca35.js → index-5807e969.js} +16 -8
- package/index-5807e969.js.map +1 -0
- package/{index-c50c6fa2.js → index-63631dc4.js} +5 -4
- package/index-63631dc4.js.map +1 -0
- package/{index-052724d9.js → index-64473ea3.js} +12 -3
- package/index-64473ea3.js.map +1 -0
- package/{index-4668028f.js → index-74a99dc5.js} +4 -2
- package/index-74a99dc5.js.map +1 -0
- package/{index-eebbce1c.js → index-7f172012.js} +5 -5
- package/index-7f172012.js.map +1 -0
- package/{index-794e37e5.js → index-82009149.js} +30 -10
- package/index-82009149.js.map +1 -0
- package/{index-8fea9d09.js → index-8abe5fb2.js} +3 -3
- package/{index-8fea9d09.js.map → index-8abe5fb2.js.map} +1 -1
- package/{index-365a1d88.js → index-f23e2550.js} +4 -4
- package/{index-365a1d88.js.map → index-f23e2550.js.map} +1 -1
- package/{index-0cc2c241.js → index-f78cd01e.js} +6 -6
- package/index-f78cd01e.js.map +1 -0
- package/{index-6908bdd4.js → index-feffd01d.js} +193 -56
- package/index-feffd01d.js.map +1 -0
- package/index.d.ts +15 -5
- package/index.js +49 -49
- package/{index.module-3d14ef05.js → index.module-6a96cbff.js} +1 -1
- package/{index.module-3d14ef05.js.map → index.module-6a96cbff.js.map} +1 -1
- package/lame.all.js.map +1 -1
- package/package.json +15 -13
- package/sendbirdSelectors.js +3 -3
- package/sendbirdSelectors.js.map +1 -1
- package/{stringSet-da68ecef.js → stringSet-6c589018.js} +1 -1
- package/{stringSet-da68ecef.js.map → stringSet-6c589018.js.map} +1 -1
- package/{tokenize-eeb42e72.js → tokenize-b7be6252.js} +27 -7
- package/tokenize-b7be6252.js.map +1 -0
- package/{topics-0354b385.js → topics-969deff5.js} +1 -1
- package/{topics-0354b385.js.map → topics-969deff5.js.map} +1 -1
- package/{types-12d853e9.js → types-230dc5c2.js} +1 -1
- package/types-230dc5c2.js.map +1 -0
- package/ui/Accordion.js +2 -2
- package/ui/Accordion.js.map +1 -1
- package/ui/AccordionGroup.js +2 -2
- package/ui/AccordionGroup.js.map +1 -1
- package/ui/AdminMessage.js +2 -2
- package/ui/AdminMessage.js.map +1 -1
- package/ui/Avatar.js +1 -1
- package/ui/Avatar.js.map +1 -1
- package/ui/Badge.js +4 -4
- package/ui/Badge.js.map +1 -1
- package/ui/BottomSheet.js +1 -1
- package/ui/BottomSheet.js.map +1 -1
- package/ui/Button.js +2 -2
- package/ui/Button.js.map +1 -1
- package/ui/ChannelAvatar.js +2 -2
- package/ui/ChannelAvatar.js.map +1 -1
- package/ui/Checkbox.js.map +1 -1
- package/ui/ConnectionStatus.js +4 -4
- package/ui/ConnectionStatus.js.map +1 -1
- package/ui/ContextMenu.js +5 -5
- package/ui/ContextMenu.js.map +1 -1
- package/ui/DateSeparator.js +3 -3
- package/ui/DateSeparator.js.map +1 -1
- package/ui/EmojiReactions.js +7 -7
- package/ui/EmojiReactions.js.map +1 -1
- package/ui/FileMessageItemBody.js +6 -6
- package/ui/FileMessageItemBody.js.map +1 -1
- package/ui/FileViewer.js +8 -8
- package/ui/FileViewer.js.map +1 -1
- package/ui/Icon.js +2 -0
- package/ui/Icon.js.map +1 -1
- package/ui/IconButton.js +1 -1
- package/ui/IconButton.js.map +1 -1
- package/ui/ImageRenderer.js.map +1 -1
- package/ui/Input.js +2 -2
- package/ui/Input.js.map +1 -1
- package/ui/Label.js +2 -2
- package/ui/LinkLabel.js +2 -2
- package/ui/LinkLabel.js.map +1 -1
- package/ui/Loader.js.map +1 -1
- package/ui/MentionLabel.js +10 -10
- package/ui/MentionLabel.js.map +1 -1
- package/ui/MentionUserLabel.js +1 -1
- package/ui/MentionUserLabel.js.map +1 -1
- package/ui/MessageContent.js +34 -34
- package/ui/MessageContent.js.map +1 -1
- package/ui/MessageInput.js +63 -37
- package/ui/MessageInput.js.map +1 -1
- package/ui/MessageItemMenu.js +8 -8
- package/ui/MessageItemMenu.js.map +1 -1
- package/ui/MessageItemReactionMenu.js +5 -5
- package/ui/MessageItemReactionMenu.js.map +1 -1
- package/ui/MessageSearchFileItem.js +10 -10
- package/ui/MessageSearchFileItem.js.map +1 -1
- package/ui/MessageSearchItem.js +8 -8
- package/ui/MessageSearchItem.js.map +1 -1
- package/ui/MessageStatus.js +10 -10
- package/ui/Modal.js +7 -7
- package/ui/Modal.js.map +1 -1
- package/ui/MutedAvatarOverlay.js.map +1 -1
- package/ui/OGMessageItemBody.js +14 -14
- package/ui/OGMessageItemBody.js.map +1 -1
- package/ui/OpenChannelAdminMessage.js +2 -2
- package/ui/OpenChannelAdminMessage.js.map +1 -1
- package/ui/OpenChannelAvatar.js +5 -5
- package/ui/OpenChannelAvatar.js.map +1 -1
- package/ui/OpenchannelConversationHeader.js +6 -6
- package/ui/OpenchannelConversationHeader.js.map +1 -1
- package/ui/OpenchannelFileMessage.js +15 -15
- package/ui/OpenchannelFileMessage.js.map +1 -1
- package/ui/OpenchannelOGMessage.js +18 -18
- package/ui/OpenchannelOGMessage.js.map +1 -1
- package/ui/OpenchannelThumbnailMessage.js +16 -16
- package/ui/OpenchannelThumbnailMessage.js.map +1 -1
- package/ui/OpenchannelUserMessage.js +15 -15
- package/ui/OpenchannelUserMessage.js.map +1 -1
- package/ui/PlaceHolder.js +5 -5
- package/ui/PlaybackTime.js +2 -2
- package/ui/PlaybackTime.js.map +1 -1
- package/ui/ProgressBar.js +1 -0
- package/ui/ProgressBar.js.map +1 -1
- package/ui/QuoteMessage.js +6 -6
- package/ui/QuoteMessage.js.map +1 -1
- package/ui/QuoteMessageInput.js +6 -6
- package/ui/QuoteMessageInput.js.map +1 -1
- package/ui/ReactionBadge.js +2 -2
- package/ui/ReactionBadge.js.map +1 -1
- package/ui/ReactionButton.js.map +1 -1
- package/ui/SortByRow.js +1 -1
- package/ui/SortByRow.js.map +1 -1
- package/ui/TextButton.js +1 -1
- package/ui/TextButton.js.map +1 -1
- package/ui/TextMessageItemBody.js +15 -15
- package/ui/TextMessageItemBody.js.map +1 -1
- package/ui/ThreadReplies.js +5 -5
- package/ui/ThreadReplies.js.map +1 -1
- package/ui/ThumbnailMessageItemBody.js +2 -2
- package/ui/ThumbnailMessageItemBody.js.map +1 -1
- package/ui/Toggle.js +1 -1
- package/ui/Toggle.js.map +1 -1
- package/ui/Tooltip.js +2 -2
- package/ui/Tooltip.js.map +1 -1
- package/ui/TooltipWrapper.js.map +1 -1
- package/ui/UnknownMessageItemBody.js +6 -6
- package/ui/UnknownMessageItemBody.js.map +1 -1
- package/ui/UserListItem.js +10 -10
- package/ui/UserListItem.js.map +1 -1
- package/ui/UserProfile.js +9 -9
- package/ui/UserProfile.js.map +1 -1
- package/ui/VoiceMessageItemBody.js +9 -9
- package/ui/VoiceMessageItemBody.js.map +1 -1
- package/ui/VoiceMessgeInput.js +7 -7
- package/ui/Word.js +13 -13
- package/ui/Word.js.map +1 -1
- package/{useLongPress-a8d92cab.js → useLongPress-b678c2b7.js} +3 -3
- package/useLongPress-b678c2b7.js.map +1 -0
- package/useSendbirdStateContext.js +1 -1
- package/utils/message/getOutgoingMessageState.js.map +1 -1
- package/utils/message/isVoiceMessage.js +2 -2
- package/{utils-670974e1.js → utils-3245985d.js} +1 -1
- package/utils-3245985d.js.map +1 -0
- package/{utils-63790b1a.js → utils-c29e587a.js} +2 -2
- package/{utils-63790b1a.js.map → utils-c29e587a.js.map} +1 -1
- package/{utils-c9c2364c.js → utils-d8dfc953.js} +1 -1
- package/{utils-c9c2364c.js.map → utils-d8dfc953.js.map} +1 -1
- package/{utils-2b05a56b.js → utils-f57a5756.js} +1 -1
- package/{utils-2b05a56b.js.map → utils-f57a5756.js.map} +1 -1
- package/{uuid-5c7f30bd.js → uuid-abddae2d.js} +1 -1
- package/{uuid-5c7f30bd.js.map → uuid-abddae2d.js.map} +1 -1
- package/withSendbird.js +1 -1
- package/withSendbird.js.map +1 -1
- package/ChannelListProvider-8be91a05.js.map +0 -1
- package/ChannelProvider-d643e6d9.js.map +0 -1
- package/MediaQueryContext-4e555ef5.js.map +0 -1
- package/MemberList-24b818f8.js.map +0 -1
- package/OpenChannelProvider-5148963b.js.map +0 -1
- package/ThreadProvider-96a5e77e.js.map +0 -1
- package/VoiceMessageInputWrapper-07631f8d.js.map +0 -1
- package/_rollupPluginBabelHelpers-5d0c716a.js.map +0 -1
- package/cjs/ChannelListProvider-6b61a484.js.map +0 -1
- package/cjs/ChannelProvider-12a12f31.js.map +0 -1
- package/cjs/MediaQueryContext-3b09499c.js.map +0 -1
- package/cjs/MemberList-f0c4e234.js.map +0 -1
- package/cjs/OpenChannelProvider-56846c0c.js.map +0 -1
- package/cjs/ThreadProvider-1ebd5bc0.js.map +0 -1
- package/cjs/VoiceMessageInputWrapper-044427b2.js.map +0 -1
- package/cjs/_rollupPluginBabelHelpers-4b6406c2.js.map +0 -1
- package/cjs/compareIds-de8d3b96.js.map +0 -1
- package/cjs/index-0514e373.js.map +0 -1
- package/cjs/index-223d453c.js.map +0 -1
- package/cjs/index-2a770f35.js.map +0 -1
- package/cjs/index-34cc612a.js.map +0 -1
- package/cjs/index-4de6caed.js.map +0 -1
- package/cjs/index-5fd03280.js.map +0 -1
- package/cjs/index-6d3fe482.js.map +0 -1
- package/cjs/index-986b886d.js.map +0 -1
- package/cjs/index-9f6f371b.js.map +0 -1
- package/cjs/index-b2886b93.js.map +0 -1
- package/cjs/index-ca85a10a.js.map +0 -1
- package/cjs/index-d2bd7dc5.js.map +0 -1
- package/cjs/index-df637378.js.map +0 -1
- package/cjs/tokenize-07747f4c.js.map +0 -1
- package/cjs/types-3dcd9651.js.map +0 -1
- package/cjs/useLongPress-ab63a990.js.map +0 -1
- package/cjs/utils-1fd1fe8c.js.map +0 -1
- package/compareIds-90440dc5.js.map +0 -1
- package/index-052724d9.js.map +0 -1
- package/index-0cc2c241.js.map +0 -1
- package/index-1e1cb669.js.map +0 -1
- package/index-2bcc4298.js.map +0 -1
- package/index-303eca35.js.map +0 -1
- package/index-4668028f.js.map +0 -1
- package/index-4d66cb77.js.map +0 -1
- package/index-6908bdd4.js.map +0 -1
- package/index-794e37e5.js.map +0 -1
- package/index-8e3a9e8c.js.map +0 -1
- package/index-8f5c7f74.js.map +0 -1
- package/index-c50c6fa2.js.map +0 -1
- package/index-eebbce1c.js.map +0 -1
- package/tokenize-eeb42e72.js.map +0 -1
- package/types-12d853e9.js.map +0 -1
- package/useLongPress-a8d92cab.js.map +0 -1
- package/utils-670974e1.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sources":["../../src/hooks/VoiceRecorder/index.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BITS,\n VOICE_RECORDER_MIME_TYPE,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// Input props of VoiceRecorder\nexport interface VoiceRecorderProps {\n children: React.ReactElement;\n}\n\nexport interface VoiceRecorderEventHandler {\n onRecordingStarted?: () => void;\n onRecordingEnded?: (props: null | File) => void;\n}\n\n// Output of VoiceRecorder\nexport interface VoiceRecorderContext {\n start: (eventHandler?: VoiceRecorderEventHandler) => void,\n stop: () => void,\n isRecordable: boolean;\n}\nconst noop = () => { /* noop */ };\nconst
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../src/hooks/VoiceRecorder/index.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\nimport {\n VOICE_MESSAGE_FILE_NAME,\n VOICE_MESSAGE_MIME_TYPE,\n VOICE_RECORDER_AUDIO_BITS,\n VOICE_RECORDER_MIME_TYPE,\n} from '../../utils/consts';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// Input props of VoiceRecorder\nexport interface VoiceRecorderProps {\n children: React.ReactElement;\n}\n\nexport interface VoiceRecorderEventHandler {\n onRecordingStarted?: () => void;\n onRecordingEnded?: (props: null | File) => void;\n}\n\n// Output of VoiceRecorder\nexport interface VoiceRecorderContext {\n start: (eventHandler?: VoiceRecorderEventHandler) => void,\n stop: () => void,\n isRecordable: boolean;\n}\nconst noop = () => { /* noop */ };\nconst Context = createContext<VoiceRecorderContext>({\n start: noop,\n stop: noop,\n isRecordable: false,\n});\n\nexport const VoiceRecorderProvider = (props: VoiceRecorderProps): React.ReactElement => {\n const { children } = props;\n const { config } = useSendbirdStateContext();\n const { logger, isVoiceMessageEnabled } = config;\n const [mediaRecorder, setMediaRecorder] = useState<MediaRecorder>(null);\n const [isRecordable, setIsRecordable] = useState<boolean>(false);\n\n const [webAudioUtils, setWebAudioUtils] = useState(null);\n useEffect(() => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n import('./WebAudioUtils').then((data) => {\n setWebAudioUtils(data);\n });\n }\n }, []);\n\n const start = useCallback((eventHandler: VoiceRecorderEventHandler): void => {\n if (isVoiceMessageEnabled && !webAudioUtils) {\n logger.error('VoiceRecorder: Recording audio processor is being loaded.');\n return;\n }\n\n logger.info('VoiceRecorder: Start recording.');\n if (mediaRecorder) {\n stop();\n logger.info('VoiceRecorder: Previous mediaRecorder is stopped.');\n }\n navigator?.mediaDevices?.getUserMedia?.({ audio: true })\n .then((stream) => {\n logger.info('VoiceRecorder: Succeeded getting media stream.', stream);\n setIsRecordable(true);\n const mediaRecorder = new MediaRecorder(stream, {\n mimeType: VOICE_RECORDER_MIME_TYPE,\n audioBitsPerSecond: VOICE_RECORDER_AUDIO_BITS,\n });\n mediaRecorder.ondataavailable = (e) => { // when recording stops\n logger.info('VoiceRecorder: Succeeded getting an available data.', e.data);\n const audioFile = new File([e.data], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n webAudioUtils?.downsampleToWav(audioFile, (buffer) => {\n const mp3Buffer = webAudioUtils?.encodeMp3(buffer);\n const mp3blob = new Blob(mp3Buffer, { type: VOICE_MESSAGE_MIME_TYPE });\n const convertedAudioFile = new File([mp3blob], VOICE_MESSAGE_FILE_NAME, {\n lastModified: new Date().getTime(),\n type: VOICE_MESSAGE_MIME_TYPE,\n });\n eventHandler?.onRecordingEnded(convertedAudioFile);\n logger.info('VoiceRecorder: Succeeded converting audio file.', convertedAudioFile);\n });\n stream?.getAudioTracks?.().forEach?.(track => track?.stop());\n setIsRecordable(false);\n };\n mediaRecorder?.start();\n setMediaRecorder(mediaRecorder);\n eventHandler?.onRecordingStarted();\n })\n .catch((err) => {\n logger.error('VoiceRecorder: Failed getting media stream.', err);\n setMediaRecorder(null);\n });\n }, [mediaRecorder, webAudioUtils]);\n\n const stop = useCallback((): void => {\n // Stop recording\n mediaRecorder?.stop();\n setMediaRecorder(null);\n setIsRecordable(false);\n logger.info('VoiceRecorder: Stop recording.');\n }, [mediaRecorder]);\n\n return (\n <Context.Provider value={{\n start,\n stop,\n isRecordable,\n }}>\n {children}\n </Context.Provider>\n );\n};\n\nexport const useVoiceRecorderContext = (): VoiceRecorderContext => useContext(Context);\n\nexport default {\n VoiceRecorderProvider,\n useVoiceRecorderContext,\n};\n"],"names":["noop","Context","createContext","start","stop","isRecordable","VoiceRecorderProvider","props","children","config","useSendbirdStateContext","logger","isVoiceMessageEnabled","mediaRecorder","setMediaRecorder","useState","setIsRecordable","webAudioUtils","setWebAudioUtils","useEffect","then","data","useCallback","eventHandler","_navigator","_navigator$mediaDevic","_navigator$mediaDevic2","error","info","navigator","mediaDevices","getUserMedia","call","audio","stream","MediaRecorder","mimeType","VOICE_RECORDER_MIME_TYPE","audioBitsPerSecond","VOICE_RECORDER_AUDIO_BITS","ondataavailable","e","_stream$getAudioTrack","_stream$getAudioTrack2","_stream$getAudioTrack3","audioFile","File","VOICE_MESSAGE_FILE_NAME","lastModified","Date","getTime","type","VOICE_MESSAGE_MIME_TYPE","downsampleToWav","buffer","mp3Buffer","encodeMp3","mp3blob","Blob","convertedAudioFile","onRecordingEnded","getAudioTracks","forEach","track","onRecordingStarted","catch","err","React","createElement","Provider","value","useVoiceRecorderContext","useContext"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useState, useEffect, useCallback } from 'react';
|
|
2
2
|
import { useVoiceRecorderContext } from './context.js';
|
|
3
3
|
import useSendbirdStateContext from '../useSendbirdStateContext.js';
|
|
4
|
-
import '../consts-
|
|
4
|
+
import '../consts-da8a20c9.js';
|
|
5
5
|
import '../withSendbird.js';
|
|
6
|
-
import '../_rollupPluginBabelHelpers-
|
|
6
|
+
import '../_rollupPluginBabelHelpers-96062e23.js';
|
|
7
7
|
|
|
8
8
|
// export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {
|
|
9
9
|
// /**
|
|
@@ -11,6 +11,7 @@ import '../_rollupPluginBabelHelpers-5d0c716a.js';
|
|
|
11
11
|
// * onRecordingEnded
|
|
12
12
|
// */
|
|
13
13
|
// }
|
|
14
|
+
/* eslint-disable no-redeclare */
|
|
14
15
|
const VoiceRecorderStatus = {
|
|
15
16
|
PREPARING: 'PREPARING',
|
|
16
17
|
READY_TO_RECORD: 'READY_TO_RECORD',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVoiceRecorder.js","sources":["../../src/hooks/VoiceRecorder/useVoiceRecorder.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { VoiceRecorderEventHandler, useVoiceRecorderContext } from '.';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {\n// /**\n// * onRecordingStarted\n// * onRecordingEnded\n// */\n// }\nexport const VoiceRecorderStatus = {\n PREPARING: 'PREPARING',\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoiceRecorderStatus = typeof VoiceRecorderStatus[keyof typeof VoiceRecorderStatus];\nexport interface UseVoiceRecorderContext {\n start: () => void;\n stop: () => void;\n cancel: () => void;\n recordingLimit: number;\n recordingTime: number;\n recordedFile: File;\n recordingStatus: VoiceRecorderStatus;\n}\n\nconst noop = () => { /* noop */ };\n\nexport const useVoiceRecorder = ({\n onRecordingStarted = noop,\n onRecordingEnded = noop,\n}: VoiceRecorderEventHandler): UseVoiceRecorderContext => {\n const { config } = useSendbirdStateContext();\n const { voiceRecord } = config;\n const { maxRecordingTime } = voiceRecord;\n const voiceRecorder = useVoiceRecorderContext();\n const { isRecordable } = voiceRecorder;\n\n const [recordedFile, setRecordedFile] = useState<File>(null);\n const [recordingStatus, setRecordingStatus] = useState<VoiceRecorderStatus>(VoiceRecorderStatus.PREPARING);\n useEffect(() => {\n if (isRecordable && recordingStatus === VoiceRecorderStatus.PREPARING) {\n setRecordingStatus(VoiceRecorderStatus.READY_TO_RECORD);\n }\n }, [isRecordable]);\n\n const start = useCallback(() => {\n voiceRecorder?.start({\n onRecordingStarted: () => {\n setRecordingStatus(VoiceRecorderStatus.RECORDING);\n onRecordingStarted();\n startTimer();\n },\n onRecordingEnded: (audioFile) => {\n setRecordingStatus(VoiceRecorderStatus.COMPLETED);\n onRecordingEnded(audioFile);\n setRecordedFile(audioFile);\n stopTimer();\n },\n });\n }, [onRecordingStarted, onRecordingEnded]);\n const stop = useCallback(() => {\n voiceRecorder?.stop();\n stopTimer();\n }, [voiceRecorder]);\n const cancel = useCallback(() => {\n stop();\n setRecordedFile(null);\n }, [voiceRecorder]);\n\n // Timer\n const [recordingTime, setRecordingTime] = useState<number>(0);\n let timer: ReturnType<typeof setInterval> = null;\n function startTimer() {\n stopTimer();\n setRecordingTime(0);\n const interval = setInterval(() => {\n setRecordingTime(prevTime => {\n const newTime = prevTime + 100;\n if (newTime > maxRecordingTime) {\n stopTimer();\n }\n return newTime;\n });\n }, 100);\n timer = interval;\n }\n function stopTimer() {\n clearInterval(timer);\n timer = null;\n }\n useEffect(() => {\n if (recordingTime > maxRecordingTime) {\n stop();\n }\n }, [recordingTime, maxRecordingTime, stop]);\n\n return ({\n start,\n stop,\n cancel,\n recordingStatus,\n recordingTime,\n recordedFile,\n recordingLimit: maxRecordingTime,\n });\n};\n"],"names":["VoiceRecorderStatus","PREPARING","READY_TO_RECORD","RECORDING","COMPLETED","noop","useVoiceRecorder","_ref","onRecordingStarted","onRecordingEnded","config","useSendbirdStateContext","voiceRecord","maxRecordingTime","voiceRecorder","useVoiceRecorderContext","isRecordable","recordedFile","setRecordedFile","useState","recordingStatus","setRecordingStatus","useEffect","start","useCallback","startTimer","audioFile","stopTimer","stop","cancel","recordingTime","setRecordingTime","timer","interval","setInterval","prevTime","newTime","clearInterval","recordingLimit"],"mappings":";;;;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,mBAAmB,GAAG;AACjCC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,eAAe,EAAE,iBAAiB;AAClCC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,SAAS,EAAE,WAAA;AACb,EAAU;AAYV,MAAMC,IAAI,GAAGA,MAAM,YAAc,CAAA;AAEpBC,MAAAA,gBAAgB,GAAGC,IAAA,IAG0B;EAAA,IAHzB;AAC/BC,IAAAA,kBAAkB,GAAGH,IAAI;AACzBI,IAAAA,gBAAgB,GAAGJ,IAAAA;AACM,GAAC,GAAAE,IAAA,CAAA;EAC1B,MAAM;AAAEG,IAAAA,MAAAA;GAAQ,GAAGC,uBAAuB,EAAE,CAAA;EAC5C,MAAM;AAAEC,IAAAA,WAAAA;AAAY,GAAC,GAAGF,MAAM,CAAA;EAC9B,MAAM;AAAEG,IAAAA,gBAAAA;AAAiB,GAAC,GAAGD,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"useVoiceRecorder.js","sources":["../../src/hooks/VoiceRecorder/useVoiceRecorder.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\nimport { VoiceRecorderEventHandler, useVoiceRecorderContext } from '.';\nimport useSendbirdStateContext from '../useSendbirdStateContext';\n\n// export interface UseVoiceRecorderProps extends VoiceRecorderEventHandler {\n// /**\n// * onRecordingStarted\n// * onRecordingEnded\n// */\n// }\n/* eslint-disable no-redeclare */\nexport const VoiceRecorderStatus = {\n PREPARING: 'PREPARING',\n READY_TO_RECORD: 'READY_TO_RECORD',\n RECORDING: 'RECORDING',\n COMPLETED: 'COMPLETED',\n} as const;\nexport type VoiceRecorderStatus = typeof VoiceRecorderStatus[keyof typeof VoiceRecorderStatus];\nexport interface UseVoiceRecorderContext {\n start: () => void;\n stop: () => void;\n cancel: () => void;\n recordingLimit: number;\n recordingTime: number;\n recordedFile: File;\n recordingStatus: VoiceRecorderStatus;\n}\n\nconst noop = () => { /* noop */ };\n\nexport const useVoiceRecorder = ({\n onRecordingStarted = noop,\n onRecordingEnded = noop,\n}: VoiceRecorderEventHandler): UseVoiceRecorderContext => {\n const { config } = useSendbirdStateContext();\n const { voiceRecord } = config;\n const { maxRecordingTime } = voiceRecord;\n const voiceRecorder = useVoiceRecorderContext();\n const { isRecordable } = voiceRecorder;\n\n const [recordedFile, setRecordedFile] = useState<File>(null);\n const [recordingStatus, setRecordingStatus] = useState<VoiceRecorderStatus>(VoiceRecorderStatus.PREPARING);\n useEffect(() => {\n if (isRecordable && recordingStatus === VoiceRecorderStatus.PREPARING) {\n setRecordingStatus(VoiceRecorderStatus.READY_TO_RECORD);\n }\n }, [isRecordable]);\n\n const start = useCallback(() => {\n voiceRecorder?.start({\n onRecordingStarted: () => {\n setRecordingStatus(VoiceRecorderStatus.RECORDING);\n onRecordingStarted();\n startTimer();\n },\n onRecordingEnded: (audioFile) => {\n setRecordingStatus(VoiceRecorderStatus.COMPLETED);\n onRecordingEnded(audioFile);\n setRecordedFile(audioFile);\n stopTimer();\n },\n });\n }, [onRecordingStarted, onRecordingEnded]);\n const stop = useCallback(() => {\n voiceRecorder?.stop();\n stopTimer();\n }, [voiceRecorder]);\n const cancel = useCallback(() => {\n stop();\n setRecordedFile(null);\n }, [voiceRecorder]);\n\n // Timer\n const [recordingTime, setRecordingTime] = useState<number>(0);\n let timer: ReturnType<typeof setInterval> = null;\n function startTimer() {\n stopTimer();\n setRecordingTime(0);\n const interval = setInterval(() => {\n setRecordingTime(prevTime => {\n const newTime = prevTime + 100;\n if (newTime > maxRecordingTime) {\n stopTimer();\n }\n return newTime;\n });\n }, 100);\n timer = interval;\n }\n function stopTimer() {\n clearInterval(timer);\n timer = null;\n }\n useEffect(() => {\n if (recordingTime > maxRecordingTime) {\n stop();\n }\n }, [recordingTime, maxRecordingTime, stop]);\n\n return ({\n start,\n stop,\n cancel,\n recordingStatus,\n recordingTime,\n recordedFile,\n recordingLimit: maxRecordingTime,\n });\n};\n"],"names":["VoiceRecorderStatus","PREPARING","READY_TO_RECORD","RECORDING","COMPLETED","noop","useVoiceRecorder","_ref","onRecordingStarted","onRecordingEnded","config","useSendbirdStateContext","voiceRecord","maxRecordingTime","voiceRecorder","useVoiceRecorderContext","isRecordable","recordedFile","setRecordedFile","useState","recordingStatus","setRecordingStatus","useEffect","start","useCallback","startTimer","audioFile","stopTimer","stop","cancel","recordingTime","setRecordingTime","timer","interval","setInterval","prevTime","newTime","clearInterval","recordingLimit"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebAudioUtils-3fb13b51.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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"}
|
|
1
|
+
{"version":3,"file":"WebAudioUtils-6229e96a.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-96062e23.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionTypes-
|
|
1
|
+
{"version":3,"file":"actionTypes-423a1fac.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-302f1c4f.js');
|
|
7
7
|
var ChannelList = require('./ChannelList.js');
|
|
8
8
|
var Channel = require('./Channel.js');
|
|
9
9
|
var ChannelSettings = require('./ChannelSettings.js');
|
|
@@ -11,29 +11,29 @@ 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 consts = require('./consts-
|
|
16
|
-
require('./_rollupPluginBabelHelpers-
|
|
14
|
+
var uuid = require('./uuid-d5eb7040.js');
|
|
15
|
+
var consts = require('./consts-9cbf147c.js');
|
|
16
|
+
require('./_rollupPluginBabelHelpers-596e2aef.js');
|
|
17
17
|
require('./withSendbird.js');
|
|
18
18
|
require('css-vars-ponyfill');
|
|
19
|
-
require('./index.module-
|
|
20
|
-
require('./actionTypes-
|
|
19
|
+
require('./index.module-2d344ee2.js');
|
|
20
|
+
require('./actionTypes-29997777.js');
|
|
21
21
|
require('@sendbird/chat');
|
|
22
22
|
require('@sendbird/chat/openChannel');
|
|
23
|
-
require('./index-
|
|
23
|
+
require('./index-551be60f.js');
|
|
24
24
|
require('./utils/message/getOutgoingMessageState.js');
|
|
25
|
-
require('./index-
|
|
25
|
+
require('./index-8fc4c8ed.js');
|
|
26
26
|
require('./VoiceRecorder/context.js');
|
|
27
|
-
require('./LocalizationContext-
|
|
28
|
-
require('./stringSet-
|
|
29
|
-
require('./index-
|
|
30
|
-
require('./ChannelListProvider-
|
|
31
|
-
require('./topics-
|
|
32
|
-
require('./utils-
|
|
33
|
-
require('./UserProfileContext-
|
|
27
|
+
require('./LocalizationContext-975ffc10.js');
|
|
28
|
+
require('./stringSet-ac04b7c1.js');
|
|
29
|
+
require('./index-f0938824.js');
|
|
30
|
+
require('./ChannelListProvider-2bcdc671.js');
|
|
31
|
+
require('./topics-89c25bd7.js');
|
|
32
|
+
require('./utils-eadc245c.js');
|
|
33
|
+
require('./UserProfileContext-8b19c6c3.js');
|
|
34
34
|
require('./ChannelList/components/ChannelListUI.js');
|
|
35
35
|
require('./ChannelList/components/ChannelListHeader.js');
|
|
36
|
-
require('./index-
|
|
36
|
+
require('./index-bb91f996.js');
|
|
37
37
|
require('./ui/Avatar.js');
|
|
38
38
|
require('./ui/ImageRenderer.js');
|
|
39
39
|
require('./ui/Icon.js');
|
|
@@ -41,12 +41,12 @@ require('./ChannelList/components/AddChannel.js');
|
|
|
41
41
|
require('./ui/IconButton.js');
|
|
42
42
|
require('./CreateChannel.js');
|
|
43
43
|
require('./CreateChannel/components/CreateChannelUI.js');
|
|
44
|
-
require('./CreateChannelProvider-
|
|
44
|
+
require('./CreateChannelProvider-8f7d9505.js');
|
|
45
45
|
require('./sendbirdSelectors.js');
|
|
46
46
|
require('./CreateChannel/components/InviteUsers.js');
|
|
47
47
|
require('./ui/Modal.js');
|
|
48
48
|
require('react-dom');
|
|
49
|
-
require('./index-
|
|
49
|
+
require('./index-e36db682.js');
|
|
50
50
|
require('./ui/Button.js');
|
|
51
51
|
require('./ui/UserListItem.js');
|
|
52
52
|
require('./ui/MutedAvatarOverlay.js');
|
|
@@ -57,56 +57,56 @@ require('./ui/SortByRow.js');
|
|
|
57
57
|
require('./CreateChannel/components/SelectChannelType.js');
|
|
58
58
|
require('./ChannelList/components/ChannelPreview.js');
|
|
59
59
|
require('./ui/ChannelAvatar.js');
|
|
60
|
-
require('./utils-
|
|
60
|
+
require('./utils-40b8c201.js');
|
|
61
61
|
require('./ui/Badge.js');
|
|
62
|
-
require('./index-
|
|
63
|
-
require('./index-
|
|
62
|
+
require('./index-0d2fba98.js');
|
|
63
|
+
require('./index-9dd778ed.js');
|
|
64
64
|
require('./ui/Loader.js');
|
|
65
|
-
require('./index-
|
|
66
|
-
require('./index-
|
|
65
|
+
require('./index-7ffe6f27.js');
|
|
66
|
+
require('./index-8d2c0bda.js');
|
|
67
67
|
require('./ui/MentionUserLabel.js');
|
|
68
|
-
require('./consts-
|
|
68
|
+
require('./consts-df222988.js');
|
|
69
69
|
require('./ui/TextButton.js');
|
|
70
|
-
require('./color-
|
|
70
|
+
require('./color-ac868fc0.js');
|
|
71
71
|
require('./Channel/components/TypingIndicator.js');
|
|
72
|
-
require('./ChannelProvider-
|
|
73
|
-
require('./compareIds-
|
|
74
|
-
require('./const-
|
|
72
|
+
require('./ChannelProvider-2a01302b.js');
|
|
73
|
+
require('./compareIds-3c9472b4.js');
|
|
74
|
+
require('./const-7d011d30.js');
|
|
75
75
|
require('@sendbird/chat/message');
|
|
76
|
-
require('./
|
|
77
|
-
require('./useLongPress-ab63a990.js');
|
|
76
|
+
require('./useLongPress-472493f7.js');
|
|
78
77
|
require('./ChannelList/components/ChannelPreviewAction.js');
|
|
79
78
|
require('./EditUserProfile.js');
|
|
80
|
-
require('./index-
|
|
79
|
+
require('./index-0b24e87b.js');
|
|
81
80
|
require('./ui/Input.js');
|
|
82
|
-
require('./index-
|
|
81
|
+
require('./index-f4cf9eb5.js');
|
|
83
82
|
require('./Channel/components/ChannelUI.js');
|
|
84
83
|
require('./ui/ConnectionStatus.js');
|
|
85
84
|
require('./Channel/components/ChannelHeader.js');
|
|
86
|
-
require('./utils-
|
|
85
|
+
require('./utils-76562fb5.js');
|
|
87
86
|
require('./Channel/components/MessageList.js');
|
|
88
87
|
require('./Channel/components/Message.js');
|
|
89
88
|
require('./Channel/components/SuggestedMentionList.js');
|
|
90
|
-
require('./const-
|
|
91
|
-
require('./ThreadProvider-
|
|
89
|
+
require('./const-7b049118.js');
|
|
90
|
+
require('./ThreadProvider-e8f49239.js');
|
|
92
91
|
require('./Thread/context/types.js');
|
|
93
92
|
require('./ui/DateSeparator.js');
|
|
94
93
|
require('./ui/MessageInput.js');
|
|
95
94
|
require('dompurify');
|
|
96
|
-
require('./consts-
|
|
97
|
-
require('./consts-
|
|
98
|
-
require('./tokenize-
|
|
95
|
+
require('./consts-d9ff7fec.js');
|
|
96
|
+
require('./consts-6cf0ec85.js');
|
|
97
|
+
require('./tokenize-10b9c2ca.js');
|
|
99
98
|
require('./ui/MessageContent.js');
|
|
100
99
|
require('./ui/MessageItemMenu.js');
|
|
101
|
-
require('./types-
|
|
100
|
+
require('./types-53455550.js');
|
|
102
101
|
require('./ui/MessageItemReactionMenu.js');
|
|
102
|
+
require('./ui/ReactionButton.js');
|
|
103
103
|
require('./ui/EmojiReactions.js');
|
|
104
104
|
require('./ui/Tooltip.js');
|
|
105
105
|
require('./ui/TooltipWrapper.js');
|
|
106
106
|
require('./ui/ReactionBadge.js');
|
|
107
107
|
require('./ui/AdminMessage.js');
|
|
108
108
|
require('./ui/TextMessageItemBody.js');
|
|
109
|
-
require('./index-
|
|
109
|
+
require('./index-1a324d07.js');
|
|
110
110
|
require('./Message/context.js');
|
|
111
111
|
require('./ui/MentionLabel.js');
|
|
112
112
|
require('./ui/LinkLabel.js');
|
|
@@ -123,14 +123,14 @@ require('./VoicePlayer/useVoicePlayer.js');
|
|
|
123
123
|
require('./ui/PlaybackTime.js');
|
|
124
124
|
require('./Channel/components/FileViewer.js');
|
|
125
125
|
require('./Channel/components/RemoveMessageModal.js');
|
|
126
|
-
require('./index-
|
|
126
|
+
require('./index-46b412dc.js');
|
|
127
127
|
require('./Channel/components/UnreadCount.js');
|
|
128
128
|
require('./Channel/components/FrozenNotification.js');
|
|
129
129
|
require('./Channel/components/MessageInput.js');
|
|
130
130
|
require('./ui/QuoteMessageInput.js');
|
|
131
|
-
require('./VoiceMessageInputWrapper-
|
|
131
|
+
require('./VoiceMessageInputWrapper-5dfaba8f.js');
|
|
132
132
|
require('./VoiceRecorder/useVoiceRecorder.js');
|
|
133
|
-
require('./index-
|
|
133
|
+
require('./index-263d9317.js');
|
|
134
134
|
require('./ChannelSettings/components/ChannelSettingsUI.js');
|
|
135
135
|
require('./ChannelSettings/context.js');
|
|
136
136
|
require('./ChannelSettings/components/ChannelProfile.js');
|
|
@@ -138,10 +138,10 @@ require('./ChannelSettings/components/EditDetailsModal.js');
|
|
|
138
138
|
require('./ChannelSettings/components/ModerationPanel.js');
|
|
139
139
|
require('./ui/Accordion.js');
|
|
140
140
|
require('./ui/AccordionGroup.js');
|
|
141
|
-
require('./context-
|
|
141
|
+
require('./context-1d31dbec.js');
|
|
142
142
|
require('./ui/Toggle.js');
|
|
143
143
|
require('./ChannelSettings/components/UserListItem.js');
|
|
144
|
-
require('./MemberList-
|
|
144
|
+
require('./MemberList-0c0c303c.js');
|
|
145
145
|
require('./ChannelSettings/components/LeaveChannel.js');
|
|
146
146
|
require('./ChannelSettings/components/UserPanel.js');
|
|
147
147
|
require('./MessageSearch/components/MessageSearchUI.js');
|
|
@@ -150,7 +150,7 @@ require('./ui/MessageSearchItem.js');
|
|
|
150
150
|
require('./ui/MessageSearchFileItem.js');
|
|
151
151
|
require('./Thread/components/ThreadUI.js');
|
|
152
152
|
require('./Thread/components/ParentMessageInfo.js');
|
|
153
|
-
require('./RemoveMessageModal-
|
|
153
|
+
require('./RemoveMessageModal-f8277edf.js');
|
|
154
154
|
require('./Thread/components/ParentMessageInfoItem.js');
|
|
155
155
|
require('./ui/FileViewer.js');
|
|
156
156
|
require('./Thread/components/ThreadHeader.js');
|
package/cjs/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sources":["../../src/modules/App/DesktopLayout.tsx","../../src/modules/App/MobileLayout.tsx","../../src/modules/App/AppLayout.tsx","../../src/modules/App/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport type { DesktopLayoutProps } from './types';\n\nimport ChannelList from '../ChannelList';\nimport Channel from '../Channel';\nimport ChannelSettings from '../ChannelSettings';\nimport MessageSearchPannel from '../MessageSearch';\nimport Thread from '../Thread';\n\nexport const DesktopLayout: React.FC<DesktopLayoutProps> = (\n props: DesktopLayoutProps,\n) => {\n const {\n isReactionEnabled,\n replyType,\n isMessageGroupingEnabled,\n allowProfileEdit,\n showSearchIcon,\n onProfileEditSuccess,\n disableAutoSelect,\n currentChannel,\n setCurrentChannel,\n showSettings,\n setShowSettings,\n showSearch,\n setShowSearch,\n highlightedMessage,\n setHighlightedMessage,\n startingPoint,\n setStartingPoint,\n showThread,\n setShowThread,\n threadTargetMessage,\n setThreadTargetMessage,\n } = props;\n const [animatedMessageId, setAnimatedMessageId] = useState(null);\n return (\n <div className=\"sendbird-app__wrap\">\n <div className=\"sendbird-app__channellist-wrap\">\n <ChannelList\n allowProfileEdit={allowProfileEdit}\n activeChannelUrl={currentChannel?.url}\n onProfileEditSuccess={onProfileEditSuccess}\n disableAutoSelect={disableAutoSelect}\n onChannelSelect={(channel) => {\n setStartingPoint(null);\n setHighlightedMessage(null);\n if (channel) {\n setCurrentChannel(channel);\n } else {\n setCurrentChannel(null);\n }\n }}\n />\n </div>\n <div\n className={`\n ${showSettings ? 'sendbird-app__conversation--settings-open' : ''}\n ${showSearch ? 'sendbird-app__conversation--search-open' : ''}\n sendbird-app__conversation-wrap\n `}\n >\n <Channel\n channelUrl={currentChannel?.url || ''}\n onChatHeaderActionClick={() => {\n setShowSearch(false);\n setShowThread(false);\n setShowSettings(!showSettings);\n }}\n onSearchClick={() => {\n setShowSettings(false);\n setShowThread(false);\n setShowSearch(!showSearch);\n }}\n onReplyInThread={({ message }) => { // parent message\n setShowSettings(false);\n setShowSearch(false);\n if (replyType === 'THREAD') {\n setThreadTargetMessage(message);\n setShowThread(true);\n }\n }}\n onQuoteMessageClick={({ message }) => { // thread message\n setShowSettings(false);\n setShowSearch(false);\n if (replyType === 'THREAD') {\n setThreadTargetMessage(message);\n setShowThread(true);\n }\n }}\n onMessageAnimated={() => {\n setAnimatedMessageId(null);\n }}\n onMessageHighlighted={() => {\n setHighlightedMessage(null);\n }}\n showSearchIcon={showSearchIcon}\n startingPoint={startingPoint}\n animatedMessage={animatedMessageId}\n highlightedMessage={highlightedMessage}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n isMessageGroupingEnabled={isMessageGroupingEnabled}\n />\n </div>\n {showSettings && (\n <div className=\"sendbird-app__settingspanel-wrap\">\n <ChannelSettings\n className=\"sendbird-channel-settings\"\n channelUrl={currentChannel?.url || ''}\n onCloseClick={() => {\n setShowSettings(false);\n }}\n />\n </div>\n )}\n {showSearch && (\n <div className=\"sendbird-app__searchpanel-wrap\">\n <MessageSearchPannel\n channelUrl={currentChannel?.url || ''}\n onResultClick={(message) => {\n if (message.messageId === highlightedMessage) {\n setHighlightedMessage(null);\n setTimeout(() => {\n setHighlightedMessage(message.messageId);\n });\n } else {\n setStartingPoint(message.createdAt);\n setHighlightedMessage(message.messageId);\n }\n }}\n onCloseClick={() => {\n setShowSearch(false);\n }}\n />\n </div>\n )}\n {showThread && (\n <Thread\n className=\"sendbird-app__thread\"\n channelUrl={currentChannel?.url || ''}\n message={threadTargetMessage}\n onHeaderActionClick={() => {\n setShowThread(false);\n }}\n onMoveToParentMessage={({ message, channel }) => {\n if (channel?.url !== currentChannel?.url) {\n setCurrentChannel(channel);\n }\n if (message?.messageId !== animatedMessageId) {\n setStartingPoint(message?.createdAt);\n }\n setTimeout(() => {\n setAnimatedMessageId(message?.messageId);\n }, 500);\n }}\n />\n )}\n </div>\n )\n};\n","import './mobile.scss';\n\nimport React, { useState, useEffect } from 'react';\nimport type { BaseMessage } from '@sendbird/chat/message';\nimport type { SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { GroupChannelHandler } from '@sendbird/chat/groupChannel';\n\nimport type { MobileLayoutProps } from './types';\n\nimport ChannelList from '../ChannelList';\nimport Channel from '../Channel';\nimport ChannelSettings from '../ChannelSettings';\nimport MessageSearch from '../MessageSearch';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport uuidv4 from '../../utils/uuid';\n\nenum PANELS {\n CHANNEL_LIST = 'CHANNEL_LIST',\n CHANNEL = 'CHANNEL',\n CHANNEL_SETTINGS = 'CHANNEL_SETTINGS',\n MESSAGE_SEARCH = 'MESSAGE_SEARCH',\n}\n\nexport const MobileLayout: React.FC<MobileLayoutProps> = (\n props: MobileLayoutProps,\n) => {\n const {\n replyType,\n isMessageGroupingEnabled,\n allowProfileEdit,\n isReactionEnabled,\n showSearchIcon,\n onProfileEditSuccess,\n currentChannel,\n setCurrentChannel,\n highlightedMessage,\n setHighlightedMessage,\n startingPoint,\n setStartingPoint,\n } = props;\n const [panel, setPanel] = useState(PANELS?.CHANNEL_LIST);\n\n const store = useSendbirdStateContext();\n const sdk = store?.stores?.sdkStore?.sdk as SendbirdGroupChat;\n const userId = store?.config?.userId;\n\n const goToMessage = (message?: BaseMessage | null) => {\n setStartingPoint(message?.createdAt);\n setTimeout(() => {\n setHighlightedMessage(message?.messageId);\n });\n };\n\n useEffect(() => {\n if (panel !== PANELS?.CHANNEL) {\n goToMessage();\n }\n }, [panel]);\n\n useEffect(() => {\n const handlerId = uuidv4();\n if (sdk?.groupChannel?.addGroupChannelHandler) {\n const handler = new GroupChannelHandler({\n onUserBanned: (groupChannel, user) => {\n if (groupChannel.url === currentChannel?.url && user?.userId === userId) {\n setPanel(PANELS.CHANNEL_LIST);\n }\n },\n onChannelDeleted: (channelUrl) => {\n if (channelUrl === currentChannel?.url) {\n setPanel(PANELS.CHANNEL_LIST);\n }\n },\n onUserLeft: (groupChannel, user) => {\n if (groupChannel.url === currentChannel?.url && user?.userId === userId) {\n setPanel(PANELS.CHANNEL_LIST);\n }\n },\n });\n sdk?.groupChannel?.addGroupChannelHandler(handlerId, handler)\n }\n return () => {\n sdk?.groupChannel?.removeGroupChannelHandler?.(handlerId);\n }\n }, [sdk]);\n\n return (\n <div>\n {\n panel === PANELS?.CHANNEL_LIST && (\n <div className='sb_mobile__panelwrap'>\n <ChannelList\n onProfileEditSuccess={onProfileEditSuccess}\n onChannelSelect={(channel) => {\n setCurrentChannel(channel);\n setPanel(PANELS.CHANNEL);\n }}\n allowProfileEdit={allowProfileEdit}\n // this condition must be true for mobile\n disableAutoSelect\n />\n </div>\n )\n }\n {\n panel === PANELS?.CHANNEL && (\n <div className='sb_mobile__panelwrap'>\n <Channel\n replyType={replyType}\n channelUrl={currentChannel?.url || ''}\n onSearchClick={() => {\n setPanel(PANELS.MESSAGE_SEARCH);\n }}\n onBackClick={() => {\n setPanel(PANELS.CHANNEL_LIST);\n }}\n isReactionEnabled={isReactionEnabled}\n showSearchIcon={showSearchIcon}\n isMessageGroupingEnabled={isMessageGroupingEnabled}\n startingPoint={startingPoint}\n highlightedMessage={highlightedMessage}\n onChatHeaderActionClick={() => {\n setPanel(PANELS.CHANNEL_SETTINGS);\n }}\n />\n </div>\n )\n }\n {\n panel === PANELS?.CHANNEL_SETTINGS && (\n <div className='sb_mobile__panelwrap'>\n <ChannelSettings\n channelUrl={currentChannel?.url || ''}\n onCloseClick={() => {\n setPanel(PANELS.CHANNEL);\n }}\n onLeaveChannel={() => {\n setPanel(PANELS.CHANNEL_LIST);\n }}\n />\n </div>\n )\n }\n {\n panel === PANELS?.MESSAGE_SEARCH && (\n <div className='sb_mobile__panelwrap'>\n <MessageSearch\n channelUrl={currentChannel?.url || ''}\n onCloseClick={() => {\n setPanel(PANELS.CHANNEL);\n }}\n onResultClick={(message) => {\n setPanel(PANELS.CHANNEL);\n goToMessage(message);\n }}\n />\n </div>\n )\n }\n </div>\n );\n};\n","import React, { useState } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport type { AppLayoutProps } from './types';\n\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport { DesktopLayout } from './DesktopLayout';\nimport { MobileLayout } from './MobileLayout';\n\nexport const AppLayout: React.FC<AppLayoutProps> = (\n props: AppLayoutProps,\n) => {\n const {\n isReactionEnabled,\n replyType,\n isMessageGroupingEnabled,\n allowProfileEdit,\n showSearchIcon,\n onProfileEditSuccess,\n disableAutoSelect,\n currentChannel,\n setCurrentChannel,\n } = props;\n const [showThread, setShowThread] = useState(false);\n const [threadTargetMessage, setThreadTargetMessage] = useState<UserMessage | FileMessage>(null);\n const [showSettings, setShowSettings] = useState(false);\n const [showSearch, setShowSearch] = useState(false);\n const [highlightedMessage, setHighlightedMessage] = useState<number>(null);\n const [startingPoint, setStartingPoint] = useState<number>(null);\n const { isMobile } = useMediaQueryContext();\n return (\n <>\n {\n isMobile\n ? (\n <MobileLayout\n replyType={replyType}\n isMessageGroupingEnabled={isMessageGroupingEnabled}\n allowProfileEdit={allowProfileEdit}\n isReactionEnabled={isReactionEnabled}\n showSearchIcon={showSearchIcon}\n onProfileEditSuccess={onProfileEditSuccess}\n currentChannel={currentChannel}\n setCurrentChannel={setCurrentChannel}\n highlightedMessage={highlightedMessage}\n setHighlightedMessage={setHighlightedMessage}\n startingPoint={startingPoint}\n setStartingPoint={setStartingPoint}\n />\n )\n : (\n <DesktopLayout\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n isMessageGroupingEnabled={isMessageGroupingEnabled}\n allowProfileEdit={allowProfileEdit}\n showSearchIcon={showSearchIcon}\n onProfileEditSuccess={onProfileEditSuccess}\n disableAutoSelect={disableAutoSelect}\n currentChannel={currentChannel}\n setCurrentChannel={setCurrentChannel}\n showThread={showThread}\n setShowThread={setShowThread}\n threadTargetMessage={threadTargetMessage}\n setThreadTargetMessage={setThreadTargetMessage}\n showSettings={showSettings}\n setShowSettings={setShowSettings}\n showSearch={showSearch}\n setShowSearch={setShowSearch}\n highlightedMessage={highlightedMessage}\n setHighlightedMessage={setHighlightedMessage}\n startingPoint={startingPoint}\n setStartingPoint={setStartingPoint}\n />\n )\n }\n </>\n )\n}\n","/**\n * This is a drop in Chat solution\n * Can also be used as an example for creating\n * default chat apps\n */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Sendbird from '../../lib/Sendbird';\n\nimport { AppLayout } from './AppLayout';\n\nimport './index.scss';\nimport { VOICE_RECORDER_DEFAULT_MAX, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\n\nexport default function App(props) {\n const {\n appId,\n userId,\n accessToken,\n customApiHost,\n customWebSocketHost,\n mediaQueryBreakPoint,\n theme,\n userListQuery,\n nickname,\n profileUrl,\n dateLocale,\n config = {},\n isReactionEnabled,\n isMentionEnabled,\n isVoiceMessageEnabled,\n voiceRecord,\n replyType,\n isMessageGroupingEnabled,\n colorSet,\n stringSet,\n allowProfileEdit,\n disableUserProfile,\n disableMarkAsDelivered,\n renderUserProfile,\n showSearchIcon,\n onProfileEditSuccess,\n imageCompression,\n disableAutoSelect,\n isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabledOnChannelList,\n } = props;\n const [currentChannel, setCurrentChannel] = useState(null);\n return (\n <Sendbird\n stringSet={stringSet}\n appId={appId}\n userId={userId}\n accessToken={accessToken}\n customApiHost={customApiHost}\n customWebSocketHost={customWebSocketHost}\n mediaQueryBreakPoint={mediaQueryBreakPoint}\n theme={theme}\n nickname={nickname}\n profileUrl={profileUrl}\n dateLocale={dateLocale}\n userListQuery={userListQuery}\n config={config}\n colorSet={colorSet}\n disableUserProfile={disableUserProfile}\n disableMarkAsDelivered={disableMarkAsDelivered}\n renderUserProfile={renderUserProfile}\n imageCompression={imageCompression}\n isReactionEnabled={isReactionEnabled}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n voiceRecord={voiceRecord}\n onUserProfileMessage={(channel) => {\n setCurrentChannel(channel);\n }}\n isTypingIndicatorEnabledOnChannelList={isTypingIndicatorEnabledOnChannelList}\n isMessageReceiptStatusEnabledOnChannelList={isMessageReceiptStatusEnabledOnChannelList}\n replyType={replyType}\n >\n <AppLayout\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n isMessageGroupingEnabled={isMessageGroupingEnabled}\n allowProfileEdit={allowProfileEdit}\n showSearchIcon={showSearchIcon}\n onProfileEditSuccess={onProfileEditSuccess}\n disableAutoSelect={disableAutoSelect}\n currentChannel={currentChannel}\n setCurrentChannel={setCurrentChannel}\n />\n </Sendbird>\n );\n}\n\nApp.propTypes = {\n appId: PropTypes.string.isRequired,\n userId: PropTypes.string.isRequired,\n accessToken: PropTypes.string,\n customApiHost: PropTypes.string,\n customWebSocketHost: PropTypes.string,\n theme: PropTypes.string,\n userListQuery: PropTypes.func,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n mediaQueryBreakPoint: PropTypes.string,\n allowProfileEdit: PropTypes.bool,\n disableUserProfile: PropTypes.bool,\n disableMarkAsDelivered: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n onProfileEditSuccess: PropTypes.func,\n dateLocale: PropTypes.shape({}),\n config: PropTypes.shape({\n // None Error Warning Info 'All/Debug'\n logLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n isREMUnitEnabled: PropTypes.bool,\n }),\n isReactionEnabled: PropTypes.bool,\n replyType: PropTypes.oneOf(['NONE', 'QUOTE_REPLY', 'THREAD']),\n showSearchIcon: PropTypes.bool,\n isMessageGroupingEnabled: PropTypes.bool,\n stringSet: PropTypes.objectOf(PropTypes.string),\n colorSet: PropTypes.objectOf(PropTypes.string),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n disableAutoSelect: PropTypes.bool,\n isMentionEnabled: PropTypes.bool,\n isVoiceMessageEnabled: PropTypes.bool,\n voiceRecord: PropTypes.shape({\n maxRecordingTime: PropTypes.number,\n minRecordingTime: PropTypes.number,\n }),\n isTypingIndicatorEnabledOnChannelList: PropTypes.bool,\n isMessageReceiptStatusEnabledOnChannelList: PropTypes.bool,\n};\n\nApp.defaultProps = {\n accessToken: '',\n customApiHost: '',\n customWebSocketHost: '',\n theme: 'light',\n nickname: '',\n profileUrl: '',\n userListQuery: null,\n mediaQueryBreakPoint: null,\n dateLocale: null,\n allowProfileEdit: false,\n onProfileEditSuccess: null,\n disableUserProfile: false,\n disableMarkAsDelivered: false,\n showSearchIcon: false,\n renderUserProfile: null,\n config: {},\n isReactionEnabled: true,\n isMentionEnabled: false,\n isVoiceMessageEnabled: true,\n voiceRecord: {\n maxRecordingTime: VOICE_RECORDER_DEFAULT_MAX,\n minRecordingTime: VOICE_RECORDER_DEFAULT_MIN,\n },\n replyType: 'NONE',\n isMessageGroupingEnabled: true,\n stringSet: null,\n colorSet: null,\n imageCompression: {},\n disableAutoSelect: false,\n isTypingIndicatorEnabledOnChannelList: false,\n isMessageReceiptStatusEnabledOnChannelList: false,\n};\n"],"names":["DesktopLayout","props","isReactionEnabled","replyType","isMessageGroupingEnabled","allowProfileEdit","showSearchIcon","onProfileEditSuccess","disableAutoSelect","currentChannel","setCurrentChannel","showSettings","setShowSettings","showSearch","setShowSearch","highlightedMessage","setHighlightedMessage","startingPoint","setStartingPoint","showThread","setShowThread","threadTargetMessage","setThreadTargetMessage","animatedMessageId","setAnimatedMessageId","useState","React","createElement","className","ChannelList","activeChannelUrl","url","onChannelSelect","channel","Channel","channelUrl","onChatHeaderActionClick","onSearchClick","onReplyInThread","_ref","message","onQuoteMessageClick","_ref2","onMessageAnimated","onMessageHighlighted","animatedMessage","ChannelSettings","onCloseClick","MessageSearchPannel","onResultClick","messageId","setTimeout","createdAt","Thread","onHeaderActionClick","onMoveToParentMessage","_ref3","PANELS","MobileLayout","_store$stores","_store$stores$sdkStor","_store$config","panel","setPanel","CHANNEL_LIST","store","useSendbirdStateContext","sdk","stores","sdkStore","userId","config","goToMessage","useEffect","CHANNEL","_sdk$groupChannel","handlerId","uuidv4","groupChannel","addGroupChannelHandler","_sdk$groupChannel2","handler","GroupChannelHandler","onUserBanned","user","onChannelDeleted","onUserLeft","_sdk$groupChannel3","_sdk$groupChannel3$re","removeGroupChannelHandler","call","MESSAGE_SEARCH","onBackClick","CHANNEL_SETTINGS","onLeaveChannel","MessageSearch","AppLayout","isMobile","useMediaQueryContext","Fragment","App","appId","accessToken","customApiHost","customWebSocketHost","mediaQueryBreakPoint","theme","userListQuery","nickname","profileUrl","dateLocale","isMentionEnabled","isVoiceMessageEnabled","voiceRecord","colorSet","stringSet","disableUserProfile","disableMarkAsDelivered","renderUserProfile","imageCompression","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","Sendbird","onUserProfileMessage","propTypes","PropTypes","string","isRequired","func","bool","shape","logLevel","oneOfType","arrayOf","isREMUnitEnabled","oneOf","objectOf","compressionRate","number","resizingWidth","resizingHeight","maxRecordingTime","minRecordingTime","defaultProps","VOICE_RECORDER_DEFAULT_MAX","VOICE_RECORDER_DEFAULT_MIN"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"App.js","sources":["../../src/modules/App/DesktopLayout.tsx","../../src/modules/App/MobileLayout.tsx","../../src/modules/App/AppLayout.tsx","../../src/modules/App/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport type { DesktopLayoutProps } from './types';\n\nimport ChannelList from '../ChannelList';\nimport Channel from '../Channel';\nimport ChannelSettings from '../ChannelSettings';\nimport MessageSearchPannel from '../MessageSearch';\nimport Thread from '../Thread';\n\nexport const DesktopLayout: React.FC<DesktopLayoutProps> = (\n props: DesktopLayoutProps,\n) => {\n const {\n isReactionEnabled,\n replyType,\n isMessageGroupingEnabled,\n allowProfileEdit,\n showSearchIcon,\n onProfileEditSuccess,\n disableAutoSelect,\n currentChannel,\n setCurrentChannel,\n showSettings,\n setShowSettings,\n showSearch,\n setShowSearch,\n highlightedMessage,\n setHighlightedMessage,\n startingPoint,\n setStartingPoint,\n showThread,\n setShowThread,\n threadTargetMessage,\n setThreadTargetMessage,\n } = props;\n const [animatedMessageId, setAnimatedMessageId] = useState(null);\n return (\n <div className=\"sendbird-app__wrap\">\n <div className=\"sendbird-app__channellist-wrap\">\n <ChannelList\n allowProfileEdit={allowProfileEdit}\n activeChannelUrl={currentChannel?.url}\n onProfileEditSuccess={onProfileEditSuccess}\n disableAutoSelect={disableAutoSelect}\n onChannelSelect={(channel) => {\n setStartingPoint(null);\n setHighlightedMessage(null);\n if (channel) {\n setCurrentChannel(channel);\n } else {\n setCurrentChannel(null);\n }\n }}\n />\n </div>\n <div\n className={`\n ${showSettings ? 'sendbird-app__conversation--settings-open' : ''}\n ${showSearch ? 'sendbird-app__conversation--search-open' : ''}\n sendbird-app__conversation-wrap\n `}\n >\n <Channel\n channelUrl={currentChannel?.url || ''}\n onChatHeaderActionClick={() => {\n setShowSearch(false);\n setShowThread(false);\n setShowSettings(!showSettings);\n }}\n onSearchClick={() => {\n setShowSettings(false);\n setShowThread(false);\n setShowSearch(!showSearch);\n }}\n onReplyInThread={({ message }) => { // parent message\n setShowSettings(false);\n setShowSearch(false);\n if (replyType === 'THREAD') {\n setThreadTargetMessage(message);\n setShowThread(true);\n }\n }}\n onQuoteMessageClick={({ message }) => { // thread message\n setShowSettings(false);\n setShowSearch(false);\n if (replyType === 'THREAD') {\n setThreadTargetMessage(message);\n setShowThread(true);\n }\n }}\n onMessageAnimated={() => {\n setAnimatedMessageId(null);\n }}\n onMessageHighlighted={() => {\n setHighlightedMessage(null);\n }}\n showSearchIcon={showSearchIcon}\n startingPoint={startingPoint}\n animatedMessage={animatedMessageId}\n highlightedMessage={highlightedMessage}\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n isMessageGroupingEnabled={isMessageGroupingEnabled}\n />\n </div>\n {showSettings && (\n <div className=\"sendbird-app__settingspanel-wrap\">\n <ChannelSettings\n className=\"sendbird-channel-settings\"\n channelUrl={currentChannel?.url || ''}\n onCloseClick={() => {\n setShowSettings(false);\n }}\n />\n </div>\n )}\n {showSearch && (\n <div className=\"sendbird-app__searchpanel-wrap\">\n <MessageSearchPannel\n channelUrl={currentChannel?.url || ''}\n onResultClick={(message) => {\n if (message.messageId === highlightedMessage) {\n setHighlightedMessage(null);\n setTimeout(() => {\n setHighlightedMessage(message.messageId);\n });\n } else {\n setStartingPoint(message.createdAt);\n setHighlightedMessage(message.messageId);\n }\n }}\n onCloseClick={() => {\n setShowSearch(false);\n }}\n />\n </div>\n )}\n {showThread && (\n <Thread\n className=\"sendbird-app__thread\"\n channelUrl={currentChannel?.url || ''}\n message={threadTargetMessage}\n onHeaderActionClick={() => {\n setShowThread(false);\n }}\n onMoveToParentMessage={({ message, channel }) => {\n if (channel?.url !== currentChannel?.url) {\n setCurrentChannel(channel);\n }\n if (message?.messageId !== animatedMessageId) {\n setStartingPoint(message?.createdAt);\n }\n setTimeout(() => {\n setAnimatedMessageId(message?.messageId);\n }, 500);\n }}\n />\n )}\n </div>\n );\n};\n","import './mobile.scss';\n\nimport React, { useState, useEffect } from 'react';\nimport type { BaseMessage } from '@sendbird/chat/message';\nimport type { SendbirdGroupChat } from '@sendbird/chat/groupChannel';\nimport { GroupChannelHandler } from '@sendbird/chat/groupChannel';\n\nimport type { MobileLayoutProps } from './types';\n\nimport ChannelList from '../ChannelList';\nimport Channel from '../Channel';\nimport ChannelSettings from '../ChannelSettings';\nimport MessageSearch from '../MessageSearch';\nimport useSendbirdStateContext from '../../hooks/useSendbirdStateContext';\nimport uuidv4 from '../../utils/uuid';\n\nenum PANELS {\n CHANNEL_LIST = 'CHANNEL_LIST',\n CHANNEL = 'CHANNEL',\n CHANNEL_SETTINGS = 'CHANNEL_SETTINGS',\n MESSAGE_SEARCH = 'MESSAGE_SEARCH',\n}\n\nexport const MobileLayout: React.FC<MobileLayoutProps> = (\n props: MobileLayoutProps,\n) => {\n const {\n replyType,\n isMessageGroupingEnabled,\n allowProfileEdit,\n isReactionEnabled,\n showSearchIcon,\n onProfileEditSuccess,\n currentChannel,\n setCurrentChannel,\n highlightedMessage,\n setHighlightedMessage,\n startingPoint,\n setStartingPoint,\n } = props;\n const [panel, setPanel] = useState(PANELS?.CHANNEL_LIST);\n\n const store = useSendbirdStateContext();\n const sdk = store?.stores?.sdkStore?.sdk as SendbirdGroupChat;\n const userId = store?.config?.userId;\n\n const goToMessage = (message?: BaseMessage | null) => {\n setStartingPoint(message?.createdAt);\n setTimeout(() => {\n setHighlightedMessage(message?.messageId);\n });\n };\n\n useEffect(() => {\n if (panel !== PANELS?.CHANNEL) {\n goToMessage();\n }\n }, [panel]);\n\n useEffect(() => {\n const handlerId = uuidv4();\n if (sdk?.groupChannel?.addGroupChannelHandler) {\n const handler = new GroupChannelHandler({\n onUserBanned: (groupChannel, user) => {\n if (groupChannel.url === currentChannel?.url && user?.userId === userId) {\n setPanel(PANELS.CHANNEL_LIST);\n }\n },\n onChannelDeleted: (channelUrl) => {\n if (channelUrl === currentChannel?.url) {\n setPanel(PANELS.CHANNEL_LIST);\n }\n },\n onUserLeft: (groupChannel, user) => {\n if (groupChannel.url === currentChannel?.url && user?.userId === userId) {\n setPanel(PANELS.CHANNEL_LIST);\n }\n },\n });\n sdk?.groupChannel?.addGroupChannelHandler(handlerId, handler);\n }\n return () => {\n sdk?.groupChannel?.removeGroupChannelHandler?.(handlerId);\n };\n }, [sdk]);\n\n return (\n <div>\n {\n panel === PANELS?.CHANNEL_LIST && (\n <div className='sb_mobile__panelwrap'>\n <ChannelList\n onProfileEditSuccess={onProfileEditSuccess}\n onChannelSelect={(channel) => {\n setCurrentChannel(channel);\n setPanel(PANELS.CHANNEL);\n }}\n allowProfileEdit={allowProfileEdit}\n // this condition must be true for mobile\n disableAutoSelect\n />\n </div>\n )\n }\n {\n panel === PANELS?.CHANNEL && (\n <div className='sb_mobile__panelwrap'>\n <Channel\n replyType={replyType}\n channelUrl={currentChannel?.url || ''}\n onSearchClick={() => {\n setPanel(PANELS.MESSAGE_SEARCH);\n }}\n onBackClick={() => {\n setPanel(PANELS.CHANNEL_LIST);\n }}\n isReactionEnabled={isReactionEnabled}\n showSearchIcon={showSearchIcon}\n isMessageGroupingEnabled={isMessageGroupingEnabled}\n startingPoint={startingPoint}\n highlightedMessage={highlightedMessage}\n onChatHeaderActionClick={() => {\n setPanel(PANELS.CHANNEL_SETTINGS);\n }}\n />\n </div>\n )\n }\n {\n panel === PANELS?.CHANNEL_SETTINGS && (\n <div className='sb_mobile__panelwrap'>\n <ChannelSettings\n channelUrl={currentChannel?.url || ''}\n onCloseClick={() => {\n setPanel(PANELS.CHANNEL);\n }}\n onLeaveChannel={() => {\n setPanel(PANELS.CHANNEL_LIST);\n }}\n />\n </div>\n )\n }\n {\n panel === PANELS?.MESSAGE_SEARCH && (\n <div className='sb_mobile__panelwrap'>\n <MessageSearch\n channelUrl={currentChannel?.url || ''}\n onCloseClick={() => {\n setPanel(PANELS.CHANNEL);\n }}\n onResultClick={(message) => {\n setPanel(PANELS.CHANNEL);\n goToMessage(message);\n }}\n />\n </div>\n )\n }\n </div>\n );\n};\n","import React, { useState } from 'react';\nimport type { FileMessage, UserMessage } from '@sendbird/chat/message';\n\nimport type { AppLayoutProps } from './types';\n\nimport { useMediaQueryContext } from '../../lib/MediaQueryContext';\nimport { DesktopLayout } from './DesktopLayout';\nimport { MobileLayout } from './MobileLayout';\n\nexport const AppLayout: React.FC<AppLayoutProps> = (\n props: AppLayoutProps,\n) => {\n const {\n isReactionEnabled,\n replyType,\n isMessageGroupingEnabled,\n allowProfileEdit,\n showSearchIcon,\n onProfileEditSuccess,\n disableAutoSelect,\n currentChannel,\n setCurrentChannel,\n } = props;\n const [showThread, setShowThread] = useState(false);\n const [threadTargetMessage, setThreadTargetMessage] = useState<UserMessage | FileMessage>(null);\n const [showSettings, setShowSettings] = useState(false);\n const [showSearch, setShowSearch] = useState(false);\n const [highlightedMessage, setHighlightedMessage] = useState<number>(null);\n const [startingPoint, setStartingPoint] = useState<number>(null);\n const { isMobile } = useMediaQueryContext();\n return (\n <>\n {\n isMobile\n ? (\n <MobileLayout\n replyType={replyType}\n isMessageGroupingEnabled={isMessageGroupingEnabled}\n allowProfileEdit={allowProfileEdit}\n isReactionEnabled={isReactionEnabled}\n showSearchIcon={showSearchIcon}\n onProfileEditSuccess={onProfileEditSuccess}\n currentChannel={currentChannel}\n setCurrentChannel={setCurrentChannel}\n highlightedMessage={highlightedMessage}\n setHighlightedMessage={setHighlightedMessage}\n startingPoint={startingPoint}\n setStartingPoint={setStartingPoint}\n />\n )\n : (\n <DesktopLayout\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n isMessageGroupingEnabled={isMessageGroupingEnabled}\n allowProfileEdit={allowProfileEdit}\n showSearchIcon={showSearchIcon}\n onProfileEditSuccess={onProfileEditSuccess}\n disableAutoSelect={disableAutoSelect}\n currentChannel={currentChannel}\n setCurrentChannel={setCurrentChannel}\n showThread={showThread}\n setShowThread={setShowThread}\n threadTargetMessage={threadTargetMessage}\n setThreadTargetMessage={setThreadTargetMessage}\n showSettings={showSettings}\n setShowSettings={setShowSettings}\n showSearch={showSearch}\n setShowSearch={setShowSearch}\n highlightedMessage={highlightedMessage}\n setHighlightedMessage={setHighlightedMessage}\n startingPoint={startingPoint}\n setStartingPoint={setStartingPoint}\n />\n )\n }\n </>\n );\n};\n","/**\n * This is a drop in Chat solution\n * Can also be used as an example for creating\n * default chat apps\n */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Sendbird from '../../lib/Sendbird';\n\nimport { AppLayout } from './AppLayout';\n\nimport './index.scss';\nimport { VOICE_RECORDER_DEFAULT_MAX, VOICE_RECORDER_DEFAULT_MIN } from '../../utils/consts';\n\nexport default function App(props) {\n const {\n appId,\n userId,\n accessToken,\n customApiHost,\n customWebSocketHost,\n mediaQueryBreakPoint,\n theme,\n userListQuery,\n nickname,\n profileUrl,\n dateLocale,\n config = {},\n isReactionEnabled,\n isMentionEnabled,\n isVoiceMessageEnabled,\n voiceRecord,\n replyType,\n isMessageGroupingEnabled,\n colorSet,\n stringSet,\n allowProfileEdit,\n disableUserProfile,\n disableMarkAsDelivered,\n renderUserProfile,\n showSearchIcon,\n onProfileEditSuccess,\n imageCompression,\n disableAutoSelect,\n isTypingIndicatorEnabledOnChannelList,\n isMessageReceiptStatusEnabledOnChannelList,\n } = props;\n const [currentChannel, setCurrentChannel] = useState(null);\n return (\n <Sendbird\n stringSet={stringSet}\n appId={appId}\n userId={userId}\n accessToken={accessToken}\n customApiHost={customApiHost}\n customWebSocketHost={customWebSocketHost}\n mediaQueryBreakPoint={mediaQueryBreakPoint}\n theme={theme}\n nickname={nickname}\n profileUrl={profileUrl}\n dateLocale={dateLocale}\n userListQuery={userListQuery}\n config={config}\n colorSet={colorSet}\n disableUserProfile={disableUserProfile}\n disableMarkAsDelivered={disableMarkAsDelivered}\n renderUserProfile={renderUserProfile}\n imageCompression={imageCompression}\n isReactionEnabled={isReactionEnabled}\n isMentionEnabled={isMentionEnabled}\n isVoiceMessageEnabled={isVoiceMessageEnabled}\n voiceRecord={voiceRecord}\n onUserProfileMessage={(channel) => {\n setCurrentChannel(channel);\n }}\n isTypingIndicatorEnabledOnChannelList={isTypingIndicatorEnabledOnChannelList}\n isMessageReceiptStatusEnabledOnChannelList={isMessageReceiptStatusEnabledOnChannelList}\n replyType={replyType}\n >\n <AppLayout\n isReactionEnabled={isReactionEnabled}\n replyType={replyType}\n isMessageGroupingEnabled={isMessageGroupingEnabled}\n allowProfileEdit={allowProfileEdit}\n showSearchIcon={showSearchIcon}\n onProfileEditSuccess={onProfileEditSuccess}\n disableAutoSelect={disableAutoSelect}\n currentChannel={currentChannel}\n setCurrentChannel={setCurrentChannel}\n />\n </Sendbird>\n );\n}\n\nApp.propTypes = {\n appId: PropTypes.string.isRequired,\n userId: PropTypes.string.isRequired,\n accessToken: PropTypes.string,\n customApiHost: PropTypes.string,\n customWebSocketHost: PropTypes.string,\n theme: PropTypes.string,\n userListQuery: PropTypes.func,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n mediaQueryBreakPoint: PropTypes.string,\n allowProfileEdit: PropTypes.bool,\n disableUserProfile: PropTypes.bool,\n disableMarkAsDelivered: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n onProfileEditSuccess: PropTypes.func,\n dateLocale: PropTypes.shape({}),\n config: PropTypes.shape({\n // None Error Warning Info 'All/Debug'\n logLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n isREMUnitEnabled: PropTypes.bool,\n }),\n isReactionEnabled: PropTypes.bool,\n replyType: PropTypes.oneOf(['NONE', 'QUOTE_REPLY', 'THREAD']),\n showSearchIcon: PropTypes.bool,\n isMessageGroupingEnabled: PropTypes.bool,\n stringSet: PropTypes.objectOf(PropTypes.string),\n colorSet: PropTypes.objectOf(PropTypes.string),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n disableAutoSelect: PropTypes.bool,\n isMentionEnabled: PropTypes.bool,\n isVoiceMessageEnabled: PropTypes.bool,\n voiceRecord: PropTypes.shape({\n maxRecordingTime: PropTypes.number,\n minRecordingTime: PropTypes.number,\n }),\n isTypingIndicatorEnabledOnChannelList: PropTypes.bool,\n isMessageReceiptStatusEnabledOnChannelList: PropTypes.bool,\n};\n\nApp.defaultProps = {\n accessToken: '',\n customApiHost: '',\n customWebSocketHost: '',\n theme: 'light',\n nickname: '',\n profileUrl: '',\n userListQuery: null,\n mediaQueryBreakPoint: null,\n dateLocale: null,\n allowProfileEdit: false,\n onProfileEditSuccess: null,\n disableUserProfile: false,\n disableMarkAsDelivered: false,\n showSearchIcon: false,\n renderUserProfile: null,\n config: {},\n isReactionEnabled: true,\n isMentionEnabled: false,\n isVoiceMessageEnabled: true,\n voiceRecord: {\n maxRecordingTime: VOICE_RECORDER_DEFAULT_MAX,\n minRecordingTime: VOICE_RECORDER_DEFAULT_MIN,\n },\n replyType: 'NONE',\n isMessageGroupingEnabled: true,\n stringSet: null,\n colorSet: null,\n imageCompression: {},\n disableAutoSelect: false,\n isTypingIndicatorEnabledOnChannelList: false,\n isMessageReceiptStatusEnabledOnChannelList: false,\n};\n"],"names":["DesktopLayout","props","isReactionEnabled","replyType","isMessageGroupingEnabled","allowProfileEdit","showSearchIcon","onProfileEditSuccess","disableAutoSelect","currentChannel","setCurrentChannel","showSettings","setShowSettings","showSearch","setShowSearch","highlightedMessage","setHighlightedMessage","startingPoint","setStartingPoint","showThread","setShowThread","threadTargetMessage","setThreadTargetMessage","animatedMessageId","setAnimatedMessageId","useState","React","createElement","className","ChannelList","activeChannelUrl","url","onChannelSelect","channel","Channel","channelUrl","onChatHeaderActionClick","onSearchClick","onReplyInThread","_ref","message","onQuoteMessageClick","_ref2","onMessageAnimated","onMessageHighlighted","animatedMessage","ChannelSettings","onCloseClick","MessageSearchPannel","onResultClick","messageId","setTimeout","createdAt","Thread","onHeaderActionClick","onMoveToParentMessage","_ref3","PANELS","MobileLayout","_store$stores","_store$stores$sdkStor","_store$config","panel","setPanel","CHANNEL_LIST","store","useSendbirdStateContext","sdk","stores","sdkStore","userId","config","goToMessage","useEffect","CHANNEL","_sdk$groupChannel","handlerId","uuidv4","groupChannel","addGroupChannelHandler","_sdk$groupChannel2","handler","GroupChannelHandler","onUserBanned","user","onChannelDeleted","onUserLeft","_sdk$groupChannel3","_sdk$groupChannel3$re","removeGroupChannelHandler","call","MESSAGE_SEARCH","onBackClick","CHANNEL_SETTINGS","onLeaveChannel","MessageSearch","AppLayout","isMobile","useMediaQueryContext","Fragment","App","appId","accessToken","customApiHost","customWebSocketHost","mediaQueryBreakPoint","theme","userListQuery","nickname","profileUrl","dateLocale","isMentionEnabled","isVoiceMessageEnabled","voiceRecord","colorSet","stringSet","disableUserProfile","disableMarkAsDelivered","renderUserProfile","imageCompression","isTypingIndicatorEnabledOnChannelList","isMessageReceiptStatusEnabledOnChannelList","Sendbird","onUserProfileMessage","propTypes","PropTypes","string","isRequired","func","bool","shape","logLevel","oneOfType","arrayOf","isREMUnitEnabled","oneOf","objectOf","compressionRate","number","resizingWidth","resizingHeight","maxRecordingTime","minRecordingTime","defaultProps","VOICE_RECORDER_DEFAULT_MAX","VOICE_RECORDER_DEFAULT_MIN"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUO,MAAMA,aAA2C,GACtDC,KAAyB,IACtB;EACH,MAAM;IACJC,iBAAiB;IACjBC,SAAS;IACTC,wBAAwB;IACxBC,gBAAgB;IAChBC,cAAc;IACdC,oBAAoB;IACpBC,iBAAiB;IACjBC,cAAc;IACdC,iBAAiB;IACjBC,YAAY;IACZC,eAAe;IACfC,UAAU;IACVC,aAAa;IACbC,kBAAkB;IAClBC,qBAAqB;IACrBC,aAAa;IACbC,gBAAgB;IAChBC,UAAU;IACVC,aAAa;IACbC,mBAAmB;AACnBC,IAAAA,sBAAAA;AACF,GAAC,GAAGrB,KAAK,CAAA;EACT,MAAM,CAACsB,iBAAiB,EAAEC,oBAAoB,CAAC,GAAGC,cAAQ,CAAC,IAAI,CAAC,CAAA;EAChE,oBACEC,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,oBAAA;GACbF,eAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,eAC7CF,yBAAA,CAAAC,aAAA,CAACE,WAAW,EAAA;AACVxB,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCyB,IAAAA,gBAAgB,EAAErB,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAc,CAAEsB,GAAI;AACtCxB,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,iBAAiB,EAAEA,iBAAkB;IACrCwB,eAAe,EAAGC,OAAO,IAAK;MAC5Bf,gBAAgB,CAAC,IAAI,CAAC,CAAA;MACtBF,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAC3B,MAAA,IAAIiB,OAAO,EAAE;QACXvB,iBAAiB,CAACuB,OAAO,CAAC,CAAA;AAC5B,OAAC,MAAM;QACLvB,iBAAiB,CAAC,IAAI,CAAC,CAAA;AACzB,OAAA;AACF,KAAA;AAAE,GAAA,CACF,CACE,eACNgB,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAG,CAAA;AACpB,UAAA,EAAYjB,YAAY,GAAG,2CAA2C,GAAG,EAAG,CAAA;AAC5E,UAAA,EAAYE,UAAU,GAAG,yCAAyC,GAAG,EAAG,CAAA;AACxE;AACA,QAAA,CAAA;AAAU,GAAA,eAEFa,yBAAA,CAAAC,aAAA,CAACO,OAAO,EAAA;IACNC,UAAU,EAAE,CAAA1B,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAEsB,GAAG,KAAI,EAAG;IACtCK,uBAAuB,EAAEA,MAAM;MAC7BtB,aAAa,CAAC,KAAK,CAAC,CAAA;MACpBM,aAAa,CAAC,KAAK,CAAC,CAAA;MACpBR,eAAe,CAAC,CAACD,YAAY,CAAC,CAAA;KAC9B;IACF0B,aAAa,EAAEA,MAAM;MACnBzB,eAAe,CAAC,KAAK,CAAC,CAAA;MACtBQ,aAAa,CAAC,KAAK,CAAC,CAAA;MACpBN,aAAa,CAAC,CAACD,UAAU,CAAC,CAAA;KAC1B;IACFyB,eAAe,EAAEC,IAAA,IAAiB;MAAA,IAAhB;AAAEC,QAAAA,OAAAA;AAAQ,OAAC,GAAAD,IAAA,CAAA;AAAO;MAClC3B,eAAe,CAAC,KAAK,CAAC,CAAA;MACtBE,aAAa,CAAC,KAAK,CAAC,CAAA;MACpB,IAAIX,SAAS,KAAK,QAAQ,EAAE;QAC1BmB,sBAAsB,CAACkB,OAAO,CAAC,CAAA;QAC/BpB,aAAa,CAAC,IAAI,CAAC,CAAA;AACrB,OAAA;KACA;IACFqB,mBAAmB,EAAEC,KAAA,IAAiB;MAAA,IAAhB;AAAEF,QAAAA,OAAAA;AAAQ,OAAC,GAAAE,KAAA,CAAA;AAAO;MACtC9B,eAAe,CAAC,KAAK,CAAC,CAAA;MACtBE,aAAa,CAAC,KAAK,CAAC,CAAA;MACpB,IAAIX,SAAS,KAAK,QAAQ,EAAE;QAC1BmB,sBAAsB,CAACkB,OAAO,CAAC,CAAA;QAC/BpB,aAAa,CAAC,IAAI,CAAC,CAAA;AACrB,OAAA;KACA;IACFuB,iBAAiB,EAAEA,MAAM;MACvBnB,oBAAoB,CAAC,IAAI,CAAC,CAAA;KAC1B;IACFoB,oBAAoB,EAAEA,MAAM;MAC1B5B,qBAAqB,CAAC,IAAI,CAAC,CAAA;KAC3B;AACFV,IAAAA,cAAc,EAAEA,cAAe;AAC/BW,IAAAA,aAAa,EAAEA,aAAc;AAC7B4B,IAAAA,eAAe,EAAEtB,iBAAkB;AACnCR,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCb,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,wBAAwB,EAAEA,wBAAAA;AAAyB,GAAA,CACnD,CACE,EACLO,YAAY,iBACXe,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,kCAAA;AAAkC,GAAA,eAC/CF,yBAAA,CAAAC,aAAA,CAACmB,eAAe,EAAA;AACdlB,IAAAA,SAAS,EAAC,2BAA2B;IACrCO,UAAU,EAAE,CAAA1B,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAEsB,GAAG,KAAI,EAAG;IACtCgB,YAAY,EAAEA,MAAM;MAClBnC,eAAe,CAAC,KAAK,CAAC,CAAA;AACxB,KAAA;AAAE,GAAA,CACF,CAEL,EACAC,UAAU,iBACTa,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,gCAAA;AAAgC,GAAA,eAC7CF,yBAAA,CAAAC,aAAA,CAACqB,aAAmB,EAAA;IAClBb,UAAU,EAAE,CAAA1B,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAEsB,GAAG,KAAI,EAAG;IACtCkB,aAAa,EAAGT,OAAO,IAAK;AAC1B,MAAA,IAAIA,OAAO,CAACU,SAAS,KAAKnC,kBAAkB,EAAE;QAC5CC,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAC3BmC,QAAAA,UAAU,CAAC,MAAM;AACfnC,UAAAA,qBAAqB,CAACwB,OAAO,CAACU,SAAS,CAAC,CAAA;AAC1C,SAAC,CAAC,CAAA;AACJ,OAAC,MAAM;AACLhC,QAAAA,gBAAgB,CAACsB,OAAO,CAACY,SAAS,CAAC,CAAA;AACnCpC,QAAAA,qBAAqB,CAACwB,OAAO,CAACU,SAAS,CAAC,CAAA;AAC1C,OAAA;KACA;IACFH,YAAY,EAAEA,MAAM;MAClBjC,aAAa,CAAC,KAAK,CAAC,CAAA;AACtB,KAAA;GACA,CAAA,CAEL,EACAK,UAAU,iBACTO,yBAAA,CAAAC,aAAA,CAAC0B,MAAM,EAAA;AACLzB,IAAAA,SAAS,EAAC,sBAAsB;IAChCO,UAAU,EAAE,CAAA1B,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAEsB,GAAG,KAAI,EAAG;AACtCS,IAAAA,OAAO,EAAEnB,mBAAoB;IAC7BiC,mBAAmB,EAAEA,MAAM;MACzBlC,aAAa,CAAC,KAAK,CAAC,CAAA;KACpB;IACFmC,qBAAqB,EAAEC,KAAA,IAA0B;MAAA,IAAzB;QAAEhB,OAAO;AAAEP,QAAAA,OAAAA;AAAQ,OAAC,GAAAuB,KAAA,CAAA;AAC1C,MAAA,IAAI,CAAAvB,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEF,GAAG,OAAKtB,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,cAAc,CAAEsB,GAAG,CAAE,EAAA;QACxCrB,iBAAiB,CAACuB,OAAO,CAAC,CAAA;AAC5B,OAAA;MACA,IAAI,CAAAO,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEU,SAAS,MAAK3B,iBAAiB,EAAE;QAC5CL,gBAAgB,CAACsB,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEY,SAAS,CAAC,CAAA;AACtC,OAAA;AACAD,MAAAA,UAAU,CAAC,MAAM;QACf3B,oBAAoB,CAACgB,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEU,SAAS,CAAC,CAAA;OACzC,EAAE,GAAG,CAAC,CAAA;AACT,KAAA;AAAE,GAAA,CAEL,CACG,CAAA;AAEV,CAAC;;ACnJqC,IAEjCO,MAAM,0BAANA,MAAM,EAAA;EAANA,MAAM,CAAA,cAAA,CAAA,GAAA,cAAA,CAAA;EAANA,MAAM,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAANA,MAAM,CAAA,kBAAA,CAAA,GAAA,kBAAA,CAAA;EAANA,MAAM,CAAA,gBAAA,CAAA,GAAA,gBAAA,CAAA;AAAA,EAAA,OAANA,MAAM,CAAA;AAAA,CAAA,CAANA,MAAM,IAAA,EAAA,CAAA,CAAA;AAOJ,MAAMC,YAAyC,GACpDzD,KAAwB,IACrB;AAAA,EAAA,IAAA0D,aAAA,EAAAC,qBAAA,EAAAC,aAAA,CAAA;EACH,MAAM;IACJ1D,SAAS;IACTC,wBAAwB;IACxBC,gBAAgB;IAChBH,iBAAiB;IACjBI,cAAc;IACdC,oBAAoB;IACpBE,cAAc;IACdC,iBAAiB;IACjBK,kBAAkB;IAClBC,qBAAqB;IACrBC,aAAa;AACbC,IAAAA,gBAAAA;AACF,GAAC,GAAGjB,KAAK,CAAA;AACT,EAAA,MAAM,CAAC6D,KAAK,EAAEC,QAAQ,CAAC,GAAGtC,cAAQ,CAACgC,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEO,YAAY,CAAC,CAAA;EAExD,MAAMC,KAAK,GAAGC,uBAAuB,EAAE,CAAA;EACvC,MAAMC,GAAG,GAAGF,KAAK,KAALA,IAAAA,IAAAA,KAAK,wBAAAN,aAAA,GAALM,KAAK,CAAEG,MAAM,MAAA,IAAA,IAAAT,aAAA,KAAAC,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,CAAAA,qBAAA,GAAbD,aAAA,CAAeU,QAAQ,cAAAT,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAvBA,qBAAA,CAAyBO,GAAwB,CAAA;AAC7D,EAAA,MAAMG,MAAM,GAAGL,KAAK,KAALA,IAAAA,IAAAA,KAAK,wBAAAJ,aAAA,GAALI,KAAK,CAAEM,MAAM,MAAAV,IAAAA,IAAAA,aAAA,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAA,CAAeS,MAAM,CAAA;EAEpC,MAAME,WAAW,GAAIhC,OAA4B,IAAK;IACpDtB,gBAAgB,CAACsB,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEY,SAAS,CAAC,CAAA;AACpCD,IAAAA,UAAU,CAAC,MAAM;MACfnC,qBAAqB,CAACwB,OAAO,KAAPA,IAAAA,IAAAA,OAAO,uBAAPA,OAAO,CAAEU,SAAS,CAAC,CAAA;AAC3C,KAAC,CAAC,CAAA;GACH,CAAA;AAEDuB,EAAAA,eAAS,CAAC,MAAM;IACd,IAAIX,KAAK,MAAKL,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEiB,OAAO,CAAE,EAAA;AAC7BF,MAAAA,WAAW,EAAE,CAAA;AACf,KAAA;AACF,GAAC,EAAE,CAACV,KAAK,CAAC,CAAC,CAAA;AAEXW,EAAAA,eAAS,CAAC,MAAM;AAAA,IAAA,IAAAE,iBAAA,CAAA;IACd,MAAMC,SAAS,GAAGC,WAAM,EAAE,CAAA;AAC1B,IAAA,IAAIV,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,IAAA,CAAAQ,iBAAA,GAAHR,GAAG,CAAEW,YAAY,cAAAH,iBAAA,KAAA,KAAA,CAAA,IAAjBA,iBAAA,CAAmBI,sBAAsB,EAAE;AAAA,MAAA,IAAAC,kBAAA,CAAA;AAC7C,MAAA,MAAMC,OAAO,GAAG,IAAIC,gCAAmB,CAAC;AACtCC,QAAAA,YAAY,EAAEA,CAACL,YAAY,EAAEM,IAAI,KAAK;UACpC,IAAIN,YAAY,CAAC/C,GAAG,MAAKtB,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAc,CAAEsB,GAAG,KAAI,CAAAqD,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEd,MAAM,MAAKA,MAAM,EAAE;AACvEP,YAAAA,QAAQ,CAACN,MAAM,CAACO,YAAY,CAAC,CAAA;AAC/B,WAAA;SACD;QACDqB,gBAAgB,EAAGlD,UAAU,IAAK;UAChC,IAAIA,UAAU,MAAK1B,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAc,CAAEsB,GAAG,CAAE,EAAA;AACtCgC,YAAAA,QAAQ,CAACN,MAAM,CAACO,YAAY,CAAC,CAAA;AAC/B,WAAA;SACD;AACDsB,QAAAA,UAAU,EAAEA,CAACR,YAAY,EAAEM,IAAI,KAAK;UAClC,IAAIN,YAAY,CAAC/C,GAAG,MAAKtB,cAAc,KAAdA,IAAAA,IAAAA,cAAc,KAAdA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,cAAc,CAAEsB,GAAG,KAAI,CAAAqD,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEd,MAAM,MAAKA,MAAM,EAAE;AACvEP,YAAAA,QAAQ,CAACN,MAAM,CAACO,YAAY,CAAC,CAAA;AAC/B,WAAA;AACF,SAAA;AACF,OAAC,CAAC,CAAA;AACFG,MAAAA,GAAG,aAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAa,kBAAA,GAAHb,GAAG,CAAEW,YAAY,MAAA,IAAA,IAAAE,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,kBAAA,CAAmBD,sBAAsB,CAACH,SAAS,EAAEK,OAAO,CAAC,CAAA;AAC/D,KAAA;AACA,IAAA,OAAO,MAAM;MAAA,IAAAM,kBAAA,EAAAC,qBAAA,CAAA;MACXrB,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAoB,kBAAA,GAAHpB,GAAG,CAAEW,YAAY,MAAA,IAAA,IAAAS,kBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAC,qBAAA,GAAjBD,kBAAA,CAAmBE,yBAAyB,MAAAD,IAAAA,IAAAA,qBAAA,KAA5CA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAAE,IAAA,CAAAH,kBAAA,EAA+CX,SAAS,CAAC,CAAA;KAC1D,CAAA;AACH,GAAC,EAAE,CAACT,GAAG,CAAC,CAAC,CAAA;AAET,EAAA,oBACEzC,yBAAA,CAAAC,aAAA,CAEImC,KAAAA,EAAAA,IAAAA,EAAAA,KAAK,MAAKL,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEO,YAAY,CAC5BtC,iBAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,sBAAA;AAAsB,GAAA,eACnCF,yBAAA,CAAAC,aAAA,CAACE,WAAW,EAAA;AACVtB,IAAAA,oBAAoB,EAAEA,oBAAqB;IAC3CyB,eAAe,EAAGC,OAAO,IAAK;MAC5BvB,iBAAiB,CAACuB,OAAO,CAAC,CAAA;AAC1B8B,MAAAA,QAAQ,CAACN,MAAM,CAACiB,OAAO,CAAC,CAAA;KACxB;AACFrE,IAAAA,gBAAgB,EAAEA,gBAAAA;AAClB;AAAA;IACAG,iBAAiB,EAAA,IAAA;AAAA,GAAA,CACjB,CAEL,EAGDsD,KAAK,MAAKL,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEiB,OAAO,CACvBhD,iBAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,sBAAA;AAAsB,GAAA,eACnCF,yBAAA,CAAAC,aAAA,CAACO,OAAO,EAAA;AACN/B,IAAAA,SAAS,EAAEA,SAAU;IACrBgC,UAAU,EAAE,CAAA1B,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAEsB,GAAG,KAAI,EAAG;IACtCM,aAAa,EAAEA,MAAM;AACnB0B,MAAAA,QAAQ,CAACN,MAAM,CAACkC,cAAc,CAAC,CAAA;KAC/B;IACFC,WAAW,EAAEA,MAAM;AACjB7B,MAAAA,QAAQ,CAACN,MAAM,CAACO,YAAY,CAAC,CAAA;KAC7B;AACF9D,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCI,IAAAA,cAAc,EAAEA,cAAe;AAC/BF,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDa,IAAAA,aAAa,EAAEA,aAAc;AAC7BF,IAAAA,kBAAkB,EAAEA,kBAAmB;IACvCqB,uBAAuB,EAAEA,MAAM;AAC7B2B,MAAAA,QAAQ,CAACN,MAAM,CAACoC,gBAAgB,CAAC,CAAA;AACnC,KAAA;AAAE,GAAA,CACF,CAEL,EAGD/B,KAAK,MAAKL,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEoC,gBAAgB,CAChCnE,iBAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,sBAAA;AAAsB,GAAA,eACnCF,yBAAA,CAAAC,aAAA,CAACmB,eAAe,EAAA;IACdX,UAAU,EAAE,CAAA1B,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAEsB,GAAG,KAAI,EAAG;IACtCgB,YAAY,EAAEA,MAAM;AAClBgB,MAAAA,QAAQ,CAACN,MAAM,CAACiB,OAAO,CAAC,CAAA;KACxB;IACFoB,cAAc,EAAEA,MAAM;AACpB/B,MAAAA,QAAQ,CAACN,MAAM,CAACO,YAAY,CAAC,CAAA;AAC/B,KAAA;AAAE,GAAA,CACF,CAEL,EAGDF,KAAK,MAAKL,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEkC,cAAc,CAC9BjE,iBAAAA,yBAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,sBAAA;AAAsB,GAAA,eACnCF,yBAAA,CAAAC,aAAA,CAACoE,aAAa,EAAA;IACZ5D,UAAU,EAAE,CAAA1B,cAAc,KAAdA,IAAAA,IAAAA,cAAc,uBAAdA,cAAc,CAAEsB,GAAG,KAAI,EAAG;IACtCgB,YAAY,EAAEA,MAAM;AAClBgB,MAAAA,QAAQ,CAACN,MAAM,CAACiB,OAAO,CAAC,CAAA;KACxB;IACFzB,aAAa,EAAGT,OAAO,IAAK;AAC1BuB,MAAAA,QAAQ,CAACN,MAAM,CAACiB,OAAO,CAAC,CAAA;MACxBF,WAAW,CAAChC,OAAO,CAAC,CAAA;AACtB,KAAA;AAAE,GAAA,CACF,CAEL,CAEC,CAAA;AAEV,CAAC;;ACxJM,MAAMwD,SAAmC,GAC9C/F,KAAqB,IAClB;EACH,MAAM;IACJC,iBAAiB;IACjBC,SAAS;IACTC,wBAAwB;IACxBC,gBAAgB;IAChBC,cAAc;IACdC,oBAAoB;IACpBC,iBAAiB;IACjBC,cAAc;AACdC,IAAAA,iBAAAA;AACF,GAAC,GAAGT,KAAK,CAAA;EACT,MAAM,CAACkB,UAAU,EAAEC,aAAa,CAAC,GAAGK,cAAQ,CAAC,KAAK,CAAC,CAAA;EACnD,MAAM,CAACJ,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGG,cAAQ,CAA4B,IAAI,CAAC,CAAA;EAC/F,MAAM,CAACd,YAAY,EAAEC,eAAe,CAAC,GAAGa,cAAQ,CAAC,KAAK,CAAC,CAAA;EACvD,MAAM,CAACZ,UAAU,EAAEC,aAAa,CAAC,GAAGW,cAAQ,CAAC,KAAK,CAAC,CAAA;EACnD,MAAM,CAACV,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGS,cAAQ,CAAS,IAAI,CAAC,CAAA;EAC1E,MAAM,CAACR,aAAa,EAAEC,gBAAgB,CAAC,GAAGO,cAAQ,CAAS,IAAI,CAAC,CAAA;EAChE,MAAM;AAAEwE,IAAAA,QAAAA;GAAU,GAAGC,sCAAoB,EAAE,CAAA;AAC3C,EAAA,oBACExE,yBAAA,CAAAC,aAAA,CAAAD,yBAAA,CAAAyE,QAAA,EAEIF,IAAAA,EAAAA,QAAQ,gBAEJvE,yBAAA,CAAAC,aAAA,CAAC+B,YAAY,EAAA;AACXvD,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCH,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCI,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CE,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCK,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,gBAAgB,EAAEA,gBAAAA;AAAiB,GAAA,CACnC,gBAGFQ,yBAAA,CAAAC,aAAA,CAAC3B,aAAa,EAAA;AACZE,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCS,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CX,IAAAA,YAAY,EAAEA,YAAa;AAC3BC,IAAAA,eAAe,EAAEA,eAAgB;AACjCC,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,gBAAgB,EAAEA,gBAAAA;AAAiB,GAAA,CAEtC,CAEJ,CAAA;AAEP,CAAC;;AC9ED;AACA;AACA;AACA;AACA;AAWe,SAASkF,GAAGA,CAACnG,KAAK,EAAE;EACjC,MAAM;IACJoG,KAAK;IACL/B,MAAM;IACNgC,WAAW;IACXC,aAAa;IACbC,mBAAmB;IACnBC,oBAAoB;IACpBC,KAAK;IACLC,aAAa;IACbC,QAAQ;IACRC,UAAU;IACVC,UAAU;IACVvC,MAAM,GAAG,EAAE;IACXrE,iBAAiB;IACjB6G,gBAAgB;IAChBC,qBAAqB;IACrBC,WAAW;IACX9G,SAAS;IACTC,wBAAwB;IACxB8G,QAAQ;IACRC,SAAS;IACT9G,gBAAgB;IAChB+G,kBAAkB;IAClBC,sBAAsB;IACtBC,iBAAiB;IACjBhH,cAAc;IACdC,oBAAoB;IACpBgH,gBAAgB;IAChB/G,iBAAiB;IACjBgH,qCAAqC;AACrCC,IAAAA,0CAAAA;AACF,GAAC,GAAGxH,KAAK,CAAA;EACT,MAAM,CAACQ,cAAc,EAAEC,iBAAiB,CAAC,GAAGe,cAAQ,CAAC,IAAI,CAAC,CAAA;AAC1D,EAAA,oBACEC,yBAAA,CAAAC,aAAA,CAAC+F,gBAAQ,EAAA;AACPP,IAAAA,SAAS,EAAEA,SAAU;AACrBd,IAAAA,KAAK,EAAEA,KAAM;AACb/B,IAAAA,MAAM,EAAEA,MAAO;AACfgC,IAAAA,WAAW,EAAEA,WAAY;AACzBC,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,mBAAmB,EAAEA,mBAAoB;AACzCC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,KAAK,EAAEA,KAAM;AACbE,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,UAAU,EAAEA,UAAW;AACvBH,IAAAA,aAAa,EAAEA,aAAc;AAC7BpC,IAAAA,MAAM,EAAEA,MAAO;AACf2C,IAAAA,QAAQ,EAAEA,QAAS;AACnBE,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,sBAAsB,EAAEA,sBAAuB;AAC/CC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCrH,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrC6G,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,IAAAA,WAAW,EAAEA,WAAY;IACzBU,oBAAoB,EAAG1F,OAAO,IAAK;MACjCvB,iBAAiB,CAACuB,OAAO,CAAC,CAAA;KAC1B;AACFuF,IAAAA,qCAAqC,EAAEA,qCAAsC;AAC7EC,IAAAA,0CAA0C,EAAEA,0CAA2C;AACvFtH,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,eAErBuB,yBAAA,CAAAC,aAAA,CAACqE,SAAS,EAAA;AACR9F,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,wBAAwB,EAAEA,wBAAyB;AACnDC,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,oBAAoB,EAAEA,oBAAqB;AAC3CC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,iBAAiB,EAAEA,iBAAAA;AAAkB,GAAA,CACrC,CACO,CAAA;AAEf,CAAA;AAEA0F,GAAG,CAACwB,SAAS,GAAG;AACdvB,EAAAA,KAAK,EAAEwB,6BAAS,CAACC,MAAM,CAACC,UAAU;AAClCzD,EAAAA,MAAM,EAAEuD,6BAAS,CAACC,MAAM,CAACC,UAAU;EACnCzB,WAAW,EAAEuB,6BAAS,CAACC,MAAM;EAC7BvB,aAAa,EAAEsB,6BAAS,CAACC,MAAM;EAC/BtB,mBAAmB,EAAEqB,6BAAS,CAACC,MAAM;EACrCpB,KAAK,EAAEmB,6BAAS,CAACC,MAAM;EACvBnB,aAAa,EAAEkB,6BAAS,CAACG,IAAI;EAC7BpB,QAAQ,EAAEiB,6BAAS,CAACC,MAAM;EAC1BjB,UAAU,EAAEgB,6BAAS,CAACC,MAAM;EAC5BrB,oBAAoB,EAAEoB,6BAAS,CAACC,MAAM;EACtCzH,gBAAgB,EAAEwH,6BAAS,CAACI,IAAI;EAChCb,kBAAkB,EAAES,6BAAS,CAACI,IAAI;EAClCZ,sBAAsB,EAAEQ,6BAAS,CAACI,IAAI;EACtCX,iBAAiB,EAAEO,6BAAS,CAACG,IAAI;EACjCzH,oBAAoB,EAAEsH,6BAAS,CAACG,IAAI;AACpClB,EAAAA,UAAU,EAAEe,6BAAS,CAACK,KAAK,CAAC,EAAE,CAAC;AAC/B3D,EAAAA,MAAM,EAAEsD,6BAAS,CAACK,KAAK,CAAC;AACtB;AACAC,IAAAA,QAAQ,EAAEN,6BAAS,CAACO,SAAS,CAAC,CAC5BP,6BAAS,CAACC,MAAM,EAChBD,6BAAS,CAACQ,OAAO,CAACR,6BAAS,CAACC,MAAM,CAAC,CACpC,CAAC;IACFQ,gBAAgB,EAAET,6BAAS,CAACI,IAAAA;AAC9B,GAAC,CAAC;EACF/H,iBAAiB,EAAE2H,6BAAS,CAACI,IAAI;AACjC9H,EAAAA,SAAS,EAAE0H,6BAAS,CAACU,KAAK,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;EAC7DjI,cAAc,EAAEuH,6BAAS,CAACI,IAAI;EAC9B7H,wBAAwB,EAAEyH,6BAAS,CAACI,IAAI;EACxCd,SAAS,EAAEU,6BAAS,CAACW,QAAQ,CAACX,6BAAS,CAACC,MAAM,CAAC;EAC/CZ,QAAQ,EAAEW,6BAAS,CAACW,QAAQ,CAACX,6BAAS,CAACC,MAAM,CAAC;AAC9CP,EAAAA,gBAAgB,EAAEM,6BAAS,CAACK,KAAK,CAAC;IAChCO,eAAe,EAAEZ,6BAAS,CAACa,MAAM;AACjCC,IAAAA,aAAa,EAAEd,6BAAS,CAACO,SAAS,CAAC,CACjCP,6BAAS,CAACa,MAAM,EAChBb,6BAAS,CAACC,MAAM,CACjB,CAAC;AACFc,IAAAA,cAAc,EAAEf,6BAAS,CAACO,SAAS,CAAC,CAClCP,6BAAS,CAACa,MAAM,EAChBb,6BAAS,CAACC,MAAM,CACjB,CAAA;AACH,GAAC,CAAC;EACFtH,iBAAiB,EAAEqH,6BAAS,CAACI,IAAI;EACjClB,gBAAgB,EAAEc,6BAAS,CAACI,IAAI;EAChCjB,qBAAqB,EAAEa,6BAAS,CAACI,IAAI;AACrChB,EAAAA,WAAW,EAAEY,6BAAS,CAACK,KAAK,CAAC;IAC3BW,gBAAgB,EAAEhB,6BAAS,CAACa,MAAM;IAClCI,gBAAgB,EAAEjB,6BAAS,CAACa,MAAAA;AAC9B,GAAC,CAAC;EACFlB,qCAAqC,EAAEK,6BAAS,CAACI,IAAI;EACrDR,0CAA0C,EAAEI,6BAAS,CAACI,IAAAA;AACxD,CAAC,CAAA;AAED7B,GAAG,CAAC2C,YAAY,GAAG;AACjBzC,EAAAA,WAAW,EAAE,EAAE;AACfC,EAAAA,aAAa,EAAE,EAAE;AACjBC,EAAAA,mBAAmB,EAAE,EAAE;AACvBE,EAAAA,KAAK,EAAE,OAAO;AACdE,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,UAAU,EAAE,EAAE;AACdF,EAAAA,aAAa,EAAE,IAAI;AACnBF,EAAAA,oBAAoB,EAAE,IAAI;AAC1BK,EAAAA,UAAU,EAAE,IAAI;AAChBzG,EAAAA,gBAAgB,EAAE,KAAK;AACvBE,EAAAA,oBAAoB,EAAE,IAAI;AAC1B6G,EAAAA,kBAAkB,EAAE,KAAK;AACzBC,EAAAA,sBAAsB,EAAE,KAAK;AAC7B/G,EAAAA,cAAc,EAAE,KAAK;AACrBgH,EAAAA,iBAAiB,EAAE,IAAI;EACvB/C,MAAM,EAAE,EAAE;AACVrE,EAAAA,iBAAiB,EAAE,IAAI;AACvB6G,EAAAA,gBAAgB,EAAE,KAAK;AACvBC,EAAAA,qBAAqB,EAAE,IAAI;AAC3BC,EAAAA,WAAW,EAAE;AACX4B,IAAAA,gBAAgB,EAAEG,iCAA0B;AAC5CF,IAAAA,gBAAgB,EAAEG,iCAAAA;GACnB;AACD9I,EAAAA,SAAS,EAAE,MAAM;AACjBC,EAAAA,wBAAwB,EAAE,IAAI;AAC9B+G,EAAAA,SAAS,EAAE,IAAI;AACfD,EAAAA,QAAQ,EAAE,IAAI;EACdK,gBAAgB,EAAE,EAAE;AACpB/G,EAAAA,iBAAiB,EAAE,KAAK;AACxBgH,EAAAA,qCAAqC,EAAE,KAAK;AAC5CC,EAAAA,0CAA0C,EAAE,KAAA;AAC9C,CAAC;;;;"}
|