@droppii-org/chat-sdk 0.1.72 → 0.1.73
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/dist/components/canned-response/CannedResponseBody.js +7 -7
- package/dist/components/canned-response/CannedResponseFooter.js +1 -1
- package/dist/components/canned-response/CannedResponseHeader.js +2 -2
- package/dist/components/canned-response/team/TeamItem.d.ts +1 -1
- package/dist/components/canned-response/team/TeamItem.js +2 -2
- package/dist/components/chat-bubble/ChatBubble.js +3 -3
- package/dist/components/conversation/ConversationBySessionItem.d.ts +2 -2
- package/dist/components/conversation/ConversationBySessionItem.js +4 -4
- package/dist/components/conversation/DeskConversationList.js +11 -11
- package/dist/components/conversation-detail/ConversationDetailHeader.js +5 -5
- package/dist/components/conversation-detail/ConversationDetailInput.d.ts +1 -1
- package/dist/components/conversation-detail/ConversationDetailInput.js +13 -13
- package/dist/components/conversation-detail/ConversationMessageList.js +11 -11
- package/dist/components/conversation-detail/ConversationMoreOptionItem.d.ts +1 -1
- package/dist/components/conversation-detail/ConversationMoreOptionItem.js +1 -1
- package/dist/components/conversation-detail/ConversationMoreOptionPanel.d.ts +1 -1
- package/dist/components/conversation-detail/ConversationMoreOptionPanel.js +1 -1
- package/dist/components/conversation-detail/PinnedMessageBar.js +6 -6
- package/dist/components/conversation-detail/PinnedMessageItem.js +5 -5
- package/dist/components/conversation-detail/PinnedMessagesPanel.js +4 -4
- package/dist/components/conversation-detail/bot/BotButtonMessage.d.ts +1 -1
- package/dist/components/conversation-detail/bot/BotButtonMessage.js +4 -4
- package/dist/components/conversation-detail/bot/BotInactiveNotice.js +1 -1
- package/dist/components/conversation-detail/bot/BotStartButton.js +1 -1
- package/dist/components/conversation-detail/bot/BotSuggest.js +1 -1
- package/dist/components/conversation-inbox/ConversationInboxItem.d.ts +1 -1
- package/dist/components/conversation-inbox/ConversationInboxItem.js +5 -5
- package/dist/components/conversation-inbox/ConversationInboxList.d.ts +1 -1
- package/dist/components/conversation-inbox/ConversationInboxList.js +2 -2
- package/dist/components/conversation-inbox/ConversationInboxTitle.d.ts +1 -1
- package/dist/components/conversation-inbox/ConversationInboxTitle.js +2 -2
- package/dist/components/conversation-inbox/ConversationPeerAvatar.d.ts +1 -1
- package/dist/components/conversation-inbox/ConversationPeerAvatar.js +1 -1
- package/dist/components/icon/index.js +1 -1
- package/dist/components/media-collection/FileCollection.js +4 -4
- package/dist/components/media-collection/ImageCollection.js +4 -4
- package/dist/components/media-collection/LinkCollection.js +5 -5
- package/dist/components/media-collection/VideoCollection.js +4 -4
- package/dist/components/media-collection/index.js +2 -2
- package/dist/components/message/GroupMembersDrawer.d.ts +1 -1
- package/dist/components/message/GroupMembersDrawer.js +5 -5
- package/dist/components/message/MediaPreviewIcon.js +1 -1
- package/dist/components/message/MessageHeader.d.ts +2 -2
- package/dist/components/message/MessageHeader.js +9 -9
- package/dist/components/message/MessageInfiniteScroll.d.ts +1 -1
- package/dist/components/message/MessageList.js +9 -9
- package/dist/components/message/SelectSession.js +1 -1
- package/dist/components/message/UnassignedSessionFooter.js +4 -4
- package/dist/components/message/footer/ActionBar.js +2 -2
- package/dist/components/message/footer/EnterHandler.js +2 -2
- package/dist/components/message/footer/FilePreview.js +4 -4
- package/dist/components/message/footer/LinkInputPreview.js +4 -4
- package/dist/components/message/footer/MediaActions.js +4 -4
- package/dist/components/message/footer/PasteAndDropPlugin.js +1 -1
- package/dist/components/message/footer/index.d.ts +2 -2
- package/dist/components/message/footer/index.js +11 -11
- package/dist/components/message/item/CustomMessage.js +2 -2
- package/dist/components/message/item/FileMessage.js +3 -3
- package/dist/components/message/item/LinkCard.d.ts +1 -1
- package/dist/components/message/item/LinkCard.js +2 -2
- package/dist/components/message/item/LinkText.js +2 -2
- package/dist/components/message/item/QuoteMessage.js +3 -3
- package/dist/components/message/item/SystemLogMessage.js +2 -2
- package/dist/components/message/item/TextMessage.js +2 -2
- package/dist/components/message/item/UrlTextMessage.js +1 -1
- package/dist/components/message/item/imagePreviewToolbar.js +1 -1
- package/dist/components/message/item/index.js +9 -9
- package/dist/components/message/reply/ReplyPreviewBar.js +3 -3
- package/dist/components/message/reply/ReplyPreviewMedia.js +3 -3
- package/dist/components/message/reply/ReplyQuoteContent.js +1 -1
- package/dist/components/message/toolbox/MessageToolboxMenu.js +1 -1
- package/dist/components/message/toolbox/getCopyableMessageText.js +1 -1
- package/dist/components/rich-text-editor/RichTextEditor.js +4 -4
- package/dist/components/search-conversation/SearchAll.js +4 -4
- package/dist/components/search-conversation/SearchConversationAsMessages.js +1 -1
- package/dist/components/search-conversation/SearchConversationAsUsers.js +1 -1
- package/dist/components/search-conversation/SearchConversationMyInbox.js +1 -1
- package/dist/components/search-conversation/SearchDrawer.js +2 -2
- package/dist/components/search-conversation/SearchMessageOnCurrentConversation.js +2 -2
- package/dist/components/search-conversation/item/SearchItemAsMessage.js +5 -5
- package/dist/components/search-conversation/item/SearchItemAsUser.d.ts +1 -1
- package/dist/components/search-conversation/item/SearchItemAsUser.js +2 -2
- package/dist/components/session/DeskAssignedSession.js +4 -4
- package/dist/components/session/DeskTeamInbox.js +4 -4
- package/dist/components/session/SessionFilterMenu.d.ts +2 -2
- package/dist/components/session/SessionFilterMenu.js +1 -1
- package/dist/components/session/sessionMenuItems.d.ts +2 -2
- package/dist/components/session/sessionMenuItems.js +2 -2
- package/dist/components/thread/AssignConfirmModal.d.ts +1 -1
- package/dist/components/thread/ManualAssignPopover.js +4 -4
- package/dist/components/thread/SessionSection.d.ts +1 -1
- package/dist/components/thread/SessionSection.js +6 -6
- package/dist/components/thread/ThreadInfo.js +3 -3
- package/dist/components/thread/UserSection.js +5 -5
- package/dist/context/ChatContext.d.ts +1 -1
- package/dist/context/ChatContext.js +4 -4
- package/dist/hooks/canned-response/useFetchCannedCategories.d.ts +1 -1
- package/dist/hooks/canned-response/useFetchCannedCategories.js +3 -3
- package/dist/hooks/canned-response/useFetchCannedResponse.d.ts +1 -1
- package/dist/hooks/canned-response/useFetchCannedResponse.js +4 -4
- package/dist/hooks/common/useFetchUrlMetadata.js +3 -3
- package/dist/hooks/conversation/useActiveConversation.d.ts +1 -1
- package/dist/hooks/conversation/useActiveConversation.js +1 -1
- package/dist/hooks/conversation/useBotConversationDetail.d.ts +1 -1
- package/dist/hooks/conversation/useBotConversationDetail.js +3 -3
- package/dist/hooks/conversation/useBotDetail.d.ts +1 -1
- package/dist/hooks/conversation/useBotDetail.js +3 -3
- package/dist/hooks/conversation/useBotFlow.d.ts +1 -1
- package/dist/hooks/conversation/useBotFlow.js +7 -7
- package/dist/hooks/conversation/useBotMainMenu.d.ts +1 -2
- package/dist/hooks/conversation/useBotMainMenu.d.ts.map +1 -1
- package/dist/hooks/conversation/useBotMainMenu.js +2 -12
- package/dist/hooks/conversation/useConversation.js +4 -4
- package/dist/hooks/conversation/useConversationAvatarUrl.js +1 -1
- package/dist/hooks/conversation/useConversationList.d.ts +1 -1
- package/dist/hooks/conversation/useConversationList.js +5 -5
- package/dist/hooks/conversation/useCreateConversation.d.ts +1 -1
- package/dist/hooks/conversation/useCreateConversation.js +4 -4
- package/dist/hooks/conversation/useResetBotFlow.d.ts +1 -1
- package/dist/hooks/conversation/useResetBotFlow.js +3 -3
- package/dist/hooks/conversation/useResolveConversation.js +5 -5
- package/dist/hooks/conversation/useRunBotFlow.d.ts +2 -2
- package/dist/hooks/conversation/useRunBotFlow.js +3 -3
- package/dist/hooks/conversation/useSwitchToCsTeam.d.ts +6 -1
- package/dist/hooks/conversation/useSwitchToCsTeam.d.ts.map +1 -1
- package/dist/hooks/conversation/useSwitchToCsTeam.js +12 -7
- package/dist/hooks/global/useGlobalEvent.js +14 -14
- package/dist/hooks/group/useGroupMembers.js +1 -1
- package/dist/hooks/init/useChatToken.js +3 -3
- package/dist/hooks/message/useMessage.d.ts.map +1 -1
- package/dist/hooks/message/useMessage.js +29 -13
- package/dist/hooks/message/useMessageListScroll.js +2 -2
- package/dist/hooks/message/usePinMessage.js +3 -3
- package/dist/hooks/message/usePinnedMessages.js +3 -3
- package/dist/hooks/message/usePullSessionMessages.d.ts +1 -1
- package/dist/hooks/message/usePullSessionMessages.js +5 -5
- package/dist/hooks/message/useRevokeMessage.js +4 -4
- package/dist/hooks/message/useSendMessage.d.ts +3 -3
- package/dist/hooks/message/useSendMessage.js +12 -12
- package/dist/hooks/search/useSearchMessage.d.ts +1 -1
- package/dist/hooks/search/useSearchMessage.js +5 -5
- package/dist/hooks/session/useAssignSession.d.ts +1 -1
- package/dist/hooks/session/useAssignSession.js +6 -6
- package/dist/hooks/session/useCloseSession.d.ts +1 -1
- package/dist/hooks/session/useCloseSession.js +5 -5
- package/dist/hooks/session/useConversationSessionState.js +1 -1
- package/dist/hooks/session/useCreateNote.d.ts +1 -1
- package/dist/hooks/session/useCreateNote.js +4 -4
- package/dist/hooks/session/useGetLabelSession.d.ts +1 -1
- package/dist/hooks/session/useGetLabelSession.js +4 -4
- package/dist/hooks/session/useGetListSessionByConversation.d.ts +1 -1
- package/dist/hooks/session/useGetListSessionByConversation.js +5 -5
- package/dist/hooks/session/useGetSession.d.ts +2 -2
- package/dist/hooks/session/useGetSession.js +7 -7
- package/dist/hooks/session/useGetSessionSummary.d.ts +1 -1
- package/dist/hooks/session/useGetSessionSummary.js +4 -4
- package/dist/hooks/session/useGetTeamSessionSummary.d.ts +1 -1
- package/dist/hooks/session/useGetTeamSessionSummary.js +4 -4
- package/dist/hooks/session/useGetTeamSupporters.d.ts +1 -1
- package/dist/hooks/session/useGetTeamSupporters.js +4 -4
- package/dist/hooks/session/useGetUserSideInfo.d.ts +1 -1
- package/dist/hooks/session/useGetUserSideInfo.js +4 -4
- package/dist/hooks/session/useIsJoinedGroup.js +2 -2
- package/dist/hooks/session/useJoinSession.d.ts +1 -1
- package/dist/hooks/session/useJoinSession.js +4 -4
- package/dist/hooks/session/useLeaveConversation.d.ts +1 -1
- package/dist/hooks/session/useLeaveConversation.js +8 -8
- package/dist/hooks/session/useReopenOrCreateSession.d.ts +1 -1
- package/dist/hooks/session/useReopenOrCreateSession.js +4 -4
- package/dist/hooks/session/useSessionLatestPreview.d.ts +1 -1
- package/dist/hooks/session/useSessionLatestPreview.js +4 -4
- package/dist/hooks/session/useSortedSessions.d.ts +1 -1
- package/dist/hooks/session/useSyncGroupStateAfterJoin.js +1 -1
- package/dist/hooks/session/useUpdateNote.d.ts +1 -1
- package/dist/hooks/session/useUpdateNote.js +4 -4
- package/dist/hooks/session/useUpdateSession.d.ts +1 -1
- package/dist/hooks/session/useUpdateSession.js +6 -6
- package/dist/hooks/session/useUpdateSessionInfo.d.ts +1 -1
- package/dist/hooks/session/useUpdateSessionInfo.js +4 -4
- package/dist/hooks/team/useFetchMyTeam.d.ts +1 -1
- package/dist/hooks/team/useFetchMyTeam.js +3 -3
- package/dist/hooks/user/useAuth.js +4 -4
- package/dist/hooks/user/useCurrentUserAccountType.d.ts +1 -1
- package/dist/hooks/user/useCurrentUserAccountType.js +4 -4
- package/dist/hooks/user/useUpdateFcmToken.d.ts +1 -1
- package/dist/hooks/user/useUpdateFcmToken.js +3 -3
- package/dist/hooks/user/useUsersInfo.js +4 -4
- package/dist/index.d.ts +5 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/layout/index.js +2 -2
- package/dist/screens/chat-bubble/index.js +5 -5
- package/dist/screens/conversation-detail/index.d.ts +2 -2
- package/dist/screens/conversation-detail/index.js +6 -6
- package/dist/screens/conversation-inbox/index.d.ts +2 -2
- package/dist/screens/conversation-inbox/index.js +8 -8
- package/dist/screens/desk-message/index.js +7 -7
- package/dist/services/api.js +1 -1
- package/dist/services/query.d.ts +0 -1
- package/dist/services/query.d.ts.map +1 -1
- package/dist/services/query.js +0 -1
- package/dist/src/assets/droppiiFontSelection.json +24524 -0
- package/dist/src/assets/svg/canned-response.d.ts +7 -0
- package/dist/src/assets/svg/canned-response.d.ts.map +1 -0
- package/dist/src/assets/svg/canned-response.js +3 -0
- package/dist/src/assets/svg/document.d.ts +2 -0
- package/dist/src/assets/svg/document.d.ts.map +1 -0
- package/dist/src/assets/svg/document.js +2 -0
- package/dist/src/assets/svg/index.d.ts +3 -0
- package/dist/src/assets/svg/index.d.ts.map +1 -0
- package/dist/src/assets/svg/index.js +2 -0
- package/dist/src/components/canned-response/CannedResponseBody.d.ts +8 -0
- package/dist/src/components/canned-response/CannedResponseBody.d.ts.map +1 -0
- package/dist/src/components/canned-response/CannedResponseBody.js +109 -0
- package/dist/src/components/canned-response/CannedResponseFooter.d.ts +6 -0
- package/dist/src/components/canned-response/CannedResponseFooter.d.ts.map +1 -0
- package/dist/src/components/canned-response/CannedResponseFooter.js +8 -0
- package/dist/src/components/canned-response/CannedResponseHeader.d.ts +8 -0
- package/dist/src/components/canned-response/CannedResponseHeader.d.ts.map +1 -0
- package/dist/src/components/canned-response/CannedResponseHeader.js +11 -0
- package/dist/src/components/canned-response/index.d.ts +8 -0
- package/dist/src/components/canned-response/index.d.ts.map +1 -0
- package/dist/src/components/canned-response/index.js +34 -0
- package/dist/src/components/canned-response/team/TeamItem.d.ts +11 -0
- package/dist/src/components/canned-response/team/TeamItem.d.ts.map +1 -0
- package/dist/src/components/canned-response/team/TeamItem.js +31 -0
- package/dist/src/components/chat-bubble/ChatBubble.d.ts +6 -0
- package/dist/src/components/chat-bubble/ChatBubble.d.ts.map +1 -0
- package/dist/src/components/chat-bubble/ChatBubble.js +35 -0
- package/dist/src/components/conversation/ConversationBySessionItem.d.ts +9 -0
- package/dist/src/components/conversation/ConversationBySessionItem.d.ts.map +1 -0
- package/dist/src/components/conversation/ConversationBySessionItem.js +45 -0
- package/dist/src/components/conversation/DeskConversationList.d.ts +3 -0
- package/dist/src/components/conversation/DeskConversationList.d.ts.map +1 -0
- package/dist/src/components/conversation/DeskConversationList.js +104 -0
- package/dist/src/components/conversation/ThreadCard.d.ts +14 -0
- package/dist/src/components/conversation/ThreadCard.d.ts.map +1 -0
- package/dist/src/components/conversation/ThreadCard.js +16 -0
- package/dist/src/components/conversation-detail/ConversationDetailHeader.d.ts +8 -0
- package/dist/src/components/conversation-detail/ConversationDetailHeader.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/ConversationDetailHeader.js +19 -0
- package/dist/src/components/conversation-detail/ConversationDetailInput.d.ts +10 -0
- package/dist/src/components/conversation-detail/ConversationDetailInput.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/ConversationDetailInput.js +259 -0
- package/dist/src/components/conversation-detail/ConversationMessageList.d.ts +7 -0
- package/dist/src/components/conversation-detail/ConversationMessageList.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/ConversationMessageList.js +97 -0
- package/dist/src/components/conversation-detail/ConversationMoreOptionItem.d.ts +8 -0
- package/dist/src/components/conversation-detail/ConversationMoreOptionItem.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/ConversationMoreOptionItem.js +19 -0
- package/dist/src/components/conversation-detail/ConversationMoreOptionPanel.d.ts +11 -0
- package/dist/src/components/conversation-detail/ConversationMoreOptionPanel.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/ConversationMoreOptionPanel.js +24 -0
- package/dist/src/components/conversation-detail/PinLimitModal.d.ts +8 -0
- package/dist/src/components/conversation-detail/PinLimitModal.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/PinLimitModal.js +8 -0
- package/dist/src/components/conversation-detail/PinnedMessageBar.d.ts +3 -0
- package/dist/src/components/conversation-detail/PinnedMessageBar.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/PinnedMessageBar.js +102 -0
- package/dist/src/components/conversation-detail/PinnedMessageItem.d.ts +11 -0
- package/dist/src/components/conversation-detail/PinnedMessageItem.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/PinnedMessageItem.js +44 -0
- package/dist/src/components/conversation-detail/PinnedMessagesPanel.d.ts +7 -0
- package/dist/src/components/conversation-detail/PinnedMessagesPanel.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/PinnedMessagesPanel.js +51 -0
- package/dist/src/components/conversation-detail/bot/BotButtonMessage.d.ts +10 -0
- package/dist/src/components/conversation-detail/bot/BotButtonMessage.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/bot/BotButtonMessage.js +32 -0
- package/dist/src/components/conversation-detail/bot/BotInactiveNotice.d.ts +3 -0
- package/dist/src/components/conversation-detail/bot/BotInactiveNotice.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/bot/BotInactiveNotice.js +10 -0
- package/dist/src/components/conversation-detail/bot/BotStartButton.d.ts +8 -0
- package/dist/src/components/conversation-detail/bot/BotStartButton.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/bot/BotStartButton.js +11 -0
- package/dist/src/components/conversation-detail/bot/BotSuggest.d.ts +7 -0
- package/dist/src/components/conversation-detail/bot/BotSuggest.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/bot/BotSuggest.js +11 -0
- package/dist/src/components/conversation-detail/bot/index.d.ts +8 -0
- package/dist/src/components/conversation-detail/bot/index.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/bot/index.js +4 -0
- package/dist/src/components/conversation-detail/index.d.ts +12 -0
- package/dist/src/components/conversation-detail/index.d.ts.map +1 -0
- package/dist/src/components/conversation-detail/index.js +7 -0
- package/dist/src/components/conversation-inbox/ConversationInboxHeader.d.ts +3 -0
- package/dist/src/components/conversation-inbox/ConversationInboxHeader.d.ts.map +1 -0
- package/dist/src/components/conversation-inbox/ConversationInboxHeader.js +8 -0
- package/dist/src/components/conversation-inbox/ConversationInboxItem.d.ts +8 -0
- package/dist/src/components/conversation-inbox/ConversationInboxItem.d.ts.map +1 -0
- package/dist/src/components/conversation-inbox/ConversationInboxItem.js +31 -0
- package/dist/src/components/conversation-inbox/ConversationInboxList.d.ts +12 -0
- package/dist/src/components/conversation-inbox/ConversationInboxList.d.ts.map +1 -0
- package/dist/src/components/conversation-inbox/ConversationInboxList.js +36 -0
- package/dist/src/components/conversation-inbox/ConversationInboxTitle.d.ts +9 -0
- package/dist/src/components/conversation-inbox/ConversationInboxTitle.d.ts.map +1 -0
- package/dist/src/components/conversation-inbox/ConversationInboxTitle.js +7 -0
- package/dist/src/components/conversation-inbox/ConversationPeerAvatar.d.ts +10 -0
- package/dist/src/components/conversation-inbox/ConversationPeerAvatar.d.ts.map +1 -0
- package/dist/src/components/conversation-inbox/ConversationPeerAvatar.js +10 -0
- package/dist/src/components/conversation-inbox/index.d.ts +10 -0
- package/dist/src/components/conversation-inbox/index.d.ts.map +1 -0
- package/dist/src/components/conversation-inbox/index.js +5 -0
- package/dist/src/components/icon/index.d.ts +11 -0
- package/dist/src/components/icon/index.d.ts.map +1 -0
- package/dist/src/components/icon/index.js +18 -0
- package/dist/src/components/media-collection/FileCollection.d.ts +3 -0
- package/dist/src/components/media-collection/FileCollection.d.ts.map +1 -0
- package/dist/src/components/media-collection/FileCollection.js +52 -0
- package/dist/src/components/media-collection/ImageCollection.d.ts +3 -0
- package/dist/src/components/media-collection/ImageCollection.d.ts.map +1 -0
- package/dist/src/components/media-collection/ImageCollection.js +38 -0
- package/dist/src/components/media-collection/LinkCollection.d.ts +5 -0
- package/dist/src/components/media-collection/LinkCollection.d.ts.map +1 -0
- package/dist/src/components/media-collection/LinkCollection.js +92 -0
- package/dist/src/components/media-collection/VideoCollection.d.ts +3 -0
- package/dist/src/components/media-collection/VideoCollection.d.ts.map +1 -0
- package/dist/src/components/media-collection/VideoCollection.js +51 -0
- package/dist/src/components/media-collection/index.d.ts +9 -0
- package/dist/src/components/media-collection/index.d.ts.map +1 -0
- package/dist/src/components/media-collection/index.js +57 -0
- package/dist/src/components/message/GroupMembersDrawer.d.ts +10 -0
- package/dist/src/components/message/GroupMembersDrawer.d.ts.map +1 -0
- package/dist/src/components/message/GroupMembersDrawer.js +138 -0
- package/dist/src/components/message/MediaPreviewIcon.d.ts +7 -0
- package/dist/src/components/message/MediaPreviewIcon.d.ts.map +1 -0
- package/dist/src/components/message/MediaPreviewIcon.js +24 -0
- package/dist/src/components/message/MessageHeader.d.ts +18 -0
- package/dist/src/components/message/MessageHeader.d.ts.map +1 -0
- package/dist/src/components/message/MessageHeader.js +132 -0
- package/dist/src/components/message/MessageInfiniteScroll.d.ts +16 -0
- package/dist/src/components/message/MessageInfiniteScroll.d.ts.map +1 -0
- package/dist/src/components/message/MessageInfiniteScroll.js +7 -0
- package/dist/src/components/message/MessageList.d.ts +10 -0
- package/dist/src/components/message/MessageList.d.ts.map +1 -0
- package/dist/src/components/message/MessageList.js +112 -0
- package/dist/src/components/message/SelectSession.d.ts +11 -0
- package/dist/src/components/message/SelectSession.d.ts.map +1 -0
- package/dist/src/components/message/SelectSession.js +23 -0
- package/dist/src/components/message/UnassignedSessionFooter.d.ts +7 -0
- package/dist/src/components/message/UnassignedSessionFooter.d.ts.map +1 -0
- package/dist/src/components/message/UnassignedSessionFooter.js +26 -0
- package/dist/src/components/message/footer/ActionBar.d.ts +3 -0
- package/dist/src/components/message/footer/ActionBar.d.ts.map +1 -0
- package/dist/src/components/message/footer/ActionBar.js +90 -0
- package/dist/src/components/message/footer/CannedResponsePlugin.d.ts +7 -0
- package/dist/src/components/message/footer/CannedResponsePlugin.d.ts.map +1 -0
- package/dist/src/components/message/footer/CannedResponsePlugin.js +67 -0
- package/dist/src/components/message/footer/ComposerEditor.d.ts +7 -0
- package/dist/src/components/message/footer/ComposerEditor.d.ts.map +1 -0
- package/dist/src/components/message/footer/ComposerEditor.js +13 -0
- package/dist/src/components/message/footer/ComposerTabs.d.ts +10 -0
- package/dist/src/components/message/footer/ComposerTabs.d.ts.map +1 -0
- package/dist/src/components/message/footer/ComposerTabs.js +45 -0
- package/dist/src/components/message/footer/ComposerTextSyncPlugin.d.ts +6 -0
- package/dist/src/components/message/footer/ComposerTextSyncPlugin.d.ts.map +1 -0
- package/dist/src/components/message/footer/ComposerTextSyncPlugin.js +16 -0
- package/dist/src/components/message/footer/EmojiPicker.d.ts +7 -0
- package/dist/src/components/message/footer/EmojiPicker.d.ts.map +1 -0
- package/dist/src/components/message/footer/EmojiPicker.js +155 -0
- package/dist/src/components/message/footer/EnterHandler.d.ts +2 -0
- package/dist/src/components/message/footer/EnterHandler.d.ts.map +1 -0
- package/dist/src/components/message/footer/EnterHandler.js +117 -0
- package/dist/src/components/message/footer/FilePreview.d.ts +9 -0
- package/dist/src/components/message/footer/FilePreview.d.ts.map +1 -0
- package/dist/src/components/message/footer/FilePreview.js +76 -0
- package/dist/src/components/message/footer/LinkInputPreview.d.ts +7 -0
- package/dist/src/components/message/footer/LinkInputPreview.d.ts.map +1 -0
- package/dist/src/components/message/footer/LinkInputPreview.js +16 -0
- package/dist/src/components/message/footer/MediaActions.d.ts +10 -0
- package/dist/src/components/message/footer/MediaActions.d.ts.map +1 -0
- package/dist/src/components/message/footer/MediaActions.js +101 -0
- package/dist/src/components/message/footer/PasteAndDropPlugin.d.ts +6 -0
- package/dist/src/components/message/footer/PasteAndDropPlugin.d.ts.map +1 -0
- package/dist/src/components/message/footer/PasteAndDropPlugin.js +115 -0
- package/dist/src/components/message/footer/SessionClosedModal.d.ts +10 -0
- package/dist/src/components/message/footer/SessionClosedModal.d.ts.map +1 -0
- package/dist/src/components/message/footer/SessionClosedModal.js +9 -0
- package/dist/src/components/message/footer/ToolbarPlugin.d.ts +2 -0
- package/dist/src/components/message/footer/ToolbarPlugin.d.ts.map +1 -0
- package/dist/src/components/message/footer/ToolbarPlugin.js +166 -0
- package/dist/src/components/message/footer/editorConfig.d.ts +24 -0
- package/dist/src/components/message/footer/editorConfig.d.ts.map +1 -0
- package/dist/src/components/message/footer/editorConfig.js +33 -0
- package/dist/src/components/message/footer/index.d.ts +11 -0
- package/dist/src/components/message/footer/index.d.ts.map +1 -0
- package/dist/src/components/message/footer/index.js +219 -0
- package/dist/src/components/message/item/CustomMessage.d.ts +7 -0
- package/dist/src/components/message/item/CustomMessage.d.ts.map +1 -0
- package/dist/src/components/message/item/CustomMessage.js +26 -0
- package/dist/src/components/message/item/FileMessage.d.ts +7 -0
- package/dist/src/components/message/item/FileMessage.d.ts.map +1 -0
- package/dist/src/components/message/item/FileMessage.js +35 -0
- package/dist/src/components/message/item/ImageMessage.d.ts +7 -0
- package/dist/src/components/message/item/ImageMessage.d.ts.map +1 -0
- package/dist/src/components/message/item/ImageMessage.js +25 -0
- package/dist/src/components/message/item/LinkCard.d.ts +8 -0
- package/dist/src/components/message/item/LinkCard.d.ts.map +1 -0
- package/dist/src/components/message/item/LinkCard.js +19 -0
- package/dist/src/components/message/item/LinkText.d.ts +6 -0
- package/dist/src/components/message/item/LinkText.d.ts.map +1 -0
- package/dist/src/components/message/item/LinkText.js +13 -0
- package/dist/src/components/message/item/MergeImageMessage.d.ts +7 -0
- package/dist/src/components/message/item/MergeImageMessage.d.ts.map +1 -0
- package/dist/src/components/message/item/MergeImageMessage.js +30 -0
- package/dist/src/components/message/item/MessageBubble.d.ts +13 -0
- package/dist/src/components/message/item/MessageBubble.d.ts.map +1 -0
- package/dist/src/components/message/item/MessageBubble.js +23 -0
- package/dist/src/components/message/item/MessageStatusIndicator.d.ts +8 -0
- package/dist/src/components/message/item/MessageStatusIndicator.d.ts.map +1 -0
- package/dist/src/components/message/item/MessageStatusIndicator.js +16 -0
- package/dist/src/components/message/item/QuoteMessage.d.ts +8 -0
- package/dist/src/components/message/item/QuoteMessage.d.ts.map +1 -0
- package/dist/src/components/message/item/QuoteMessage.js +41 -0
- package/dist/src/components/message/item/RevokeMessage.d.ts +5 -0
- package/dist/src/components/message/item/RevokeMessage.d.ts.map +1 -0
- package/dist/src/components/message/item/RevokeMessage.js +8 -0
- package/dist/src/components/message/item/SystemLogMessage.d.ts +7 -0
- package/dist/src/components/message/item/SystemLogMessage.d.ts.map +1 -0
- package/dist/src/components/message/item/SystemLogMessage.js +16 -0
- package/dist/src/components/message/item/TextMessage.d.ts +7 -0
- package/dist/src/components/message/item/TextMessage.d.ts.map +1 -0
- package/dist/src/components/message/item/TextMessage.js +35 -0
- package/dist/src/components/message/item/UrlTextMessage.d.ts +7 -0
- package/dist/src/components/message/item/UrlTextMessage.d.ts.map +1 -0
- package/dist/src/components/message/item/UrlTextMessage.js +37 -0
- package/dist/src/components/message/item/VideoMessage.d.ts +7 -0
- package/dist/src/components/message/item/VideoMessage.d.ts.map +1 -0
- package/dist/src/components/message/item/VideoMessage.js +18 -0
- package/dist/src/components/message/item/imagePreviewToolbar.d.ts +5 -0
- package/dist/src/components/message/item/imagePreviewToolbar.d.ts.map +1 -0
- package/dist/src/components/message/item/imagePreviewToolbar.js +14 -0
- package/dist/src/components/message/item/index.d.ts +18 -0
- package/dist/src/components/message/item/index.d.ts.map +1 -0
- package/dist/src/components/message/item/index.js +155 -0
- package/dist/src/components/message/item/mediaSize.d.ts +16 -0
- package/dist/src/components/message/item/mediaSize.d.ts.map +1 -0
- package/dist/src/components/message/item/mediaSize.js +20 -0
- package/dist/src/components/message/item/renderMessageContent.d.ts +4 -0
- package/dist/src/components/message/item/renderMessageContent.d.ts.map +1 -0
- package/dist/src/components/message/item/renderMessageContent.js +46 -0
- package/dist/src/components/message/item/textStyle.d.ts +2 -0
- package/dist/src/components/message/item/textStyle.d.ts.map +1 -0
- package/dist/src/components/message/item/textStyle.js +1 -0
- package/dist/src/components/message/reply/ReplyPreviewBar.d.ts +3 -0
- package/dist/src/components/message/reply/ReplyPreviewBar.d.ts.map +1 -0
- package/dist/src/components/message/reply/ReplyPreviewBar.js +23 -0
- package/dist/src/components/message/reply/ReplyPreviewMedia.d.ts +7 -0
- package/dist/src/components/message/reply/ReplyPreviewMedia.d.ts.map +1 -0
- package/dist/src/components/message/reply/ReplyPreviewMedia.js +30 -0
- package/dist/src/components/message/reply/ReplyQuoteContent.d.ts +9 -0
- package/dist/src/components/message/reply/ReplyQuoteContent.d.ts.map +1 -0
- package/dist/src/components/message/reply/ReplyQuoteContent.js +20 -0
- package/dist/src/components/message/toolbox/MessageToolboxMenu.d.ts +5 -0
- package/dist/src/components/message/toolbox/MessageToolboxMenu.d.ts.map +1 -0
- package/dist/src/components/message/toolbox/MessageToolboxMenu.js +10 -0
- package/dist/src/components/message/toolbox/getCopyableMessageText.d.ts +4 -0
- package/dist/src/components/message/toolbox/getCopyableMessageText.d.ts.map +1 -0
- package/dist/src/components/message/toolbox/getCopyableMessageText.js +28 -0
- package/dist/src/components/message/toolbox/index.d.ts +6 -0
- package/dist/src/components/message/toolbox/index.d.ts.map +1 -0
- package/dist/src/components/message/toolbox/index.js +5 -0
- package/dist/src/components/message/toolbox/isPinnableMessageType.d.ts +3 -0
- package/dist/src/components/message/toolbox/isPinnableMessageType.d.ts.map +1 -0
- package/dist/src/components/message/toolbox/isPinnableMessageType.js +11 -0
- package/dist/src/components/message/toolbox/types.d.ts +17 -0
- package/dist/src/components/message/toolbox/types.d.ts.map +1 -0
- package/dist/src/components/message/toolbox/types.js +8 -0
- package/dist/src/components/message/toolbox/useMessageToolboxVisibility.d.ts +9 -0
- package/dist/src/components/message/toolbox/useMessageToolboxVisibility.d.ts.map +1 -0
- package/dist/src/components/message/toolbox/useMessageToolboxVisibility.js +15 -0
- package/dist/src/components/rich-text-editor/RichTextEditor.d.ts +12 -0
- package/dist/src/components/rich-text-editor/RichTextEditor.d.ts.map +1 -0
- package/dist/src/components/rich-text-editor/RichTextEditor.js +62 -0
- package/dist/src/components/search-conversation/SearchAll.d.ts +8 -0
- package/dist/src/components/search-conversation/SearchAll.d.ts.map +1 -0
- package/dist/src/components/search-conversation/SearchAll.js +37 -0
- package/dist/src/components/search-conversation/SearchConversationAsMessages.d.ts +6 -0
- package/dist/src/components/search-conversation/SearchConversationAsMessages.d.ts.map +1 -0
- package/dist/src/components/search-conversation/SearchConversationAsMessages.js +23 -0
- package/dist/src/components/search-conversation/SearchConversationAsUsers.d.ts +6 -0
- package/dist/src/components/search-conversation/SearchConversationAsUsers.d.ts.map +1 -0
- package/dist/src/components/search-conversation/SearchConversationAsUsers.js +21 -0
- package/dist/src/components/search-conversation/SearchConversationMyInbox.d.ts +6 -0
- package/dist/src/components/search-conversation/SearchConversationMyInbox.d.ts.map +1 -0
- package/dist/src/components/search-conversation/SearchConversationMyInbox.js +24 -0
- package/dist/src/components/search-conversation/SearchDrawer.d.ts +3 -0
- package/dist/src/components/search-conversation/SearchDrawer.d.ts.map +1 -0
- package/dist/src/components/search-conversation/SearchDrawer.js +33 -0
- package/dist/src/components/search-conversation/SearchMessageOnCurrentConversation.d.ts +7 -0
- package/dist/src/components/search-conversation/SearchMessageOnCurrentConversation.d.ts.map +1 -0
- package/dist/src/components/search-conversation/SearchMessageOnCurrentConversation.js +28 -0
- package/dist/src/components/search-conversation/index.d.ts +12 -0
- package/dist/src/components/search-conversation/index.d.ts.map +1 -0
- package/dist/src/components/search-conversation/index.js +46 -0
- package/dist/src/components/search-conversation/item/SearchItemAsMessage.d.ts +12 -0
- package/dist/src/components/search-conversation/item/SearchItemAsMessage.d.ts.map +1 -0
- package/dist/src/components/search-conversation/item/SearchItemAsMessage.js +72 -0
- package/dist/src/components/search-conversation/item/SearchItemAsUser.d.ts +8 -0
- package/dist/src/components/search-conversation/item/SearchItemAsUser.d.ts.map +1 -0
- package/dist/src/components/search-conversation/item/SearchItemAsUser.js +25 -0
- package/dist/src/components/session/DeskAssignedSession.d.ts +3 -0
- package/dist/src/components/session/DeskAssignedSession.d.ts.map +1 -0
- package/dist/src/components/session/DeskAssignedSession.js +33 -0
- package/dist/src/components/session/DeskTeamInbox.d.ts +3 -0
- package/dist/src/components/session/DeskTeamInbox.d.ts.map +1 -0
- package/dist/src/components/session/DeskTeamInbox.js +56 -0
- package/dist/src/components/session/SessionFilterMenu.d.ts +13 -0
- package/dist/src/components/session/SessionFilterMenu.d.ts.map +1 -0
- package/dist/src/components/session/SessionFilterMenu.js +27 -0
- package/dist/src/components/session/sessionMenuItems.d.ts +26 -0
- package/dist/src/components/session/sessionMenuItems.d.ts.map +1 -0
- package/dist/src/components/session/sessionMenuItems.js +108 -0
- package/dist/src/components/thread/AssignConfirmModal.d.ts +12 -0
- package/dist/src/components/thread/AssignConfirmModal.d.ts.map +1 -0
- package/dist/src/components/thread/AssignConfirmModal.js +11 -0
- package/dist/src/components/thread/ManualAssignPopover.d.ts +17 -0
- package/dist/src/components/thread/ManualAssignPopover.d.ts.map +1 -0
- package/dist/src/components/thread/ManualAssignPopover.js +115 -0
- package/dist/src/components/thread/SessionSection.d.ts +12 -0
- package/dist/src/components/thread/SessionSection.d.ts.map +1 -0
- package/dist/src/components/thread/SessionSection.js +148 -0
- package/dist/src/components/thread/ThreadInfo.d.ts +3 -0
- package/dist/src/components/thread/ThreadInfo.d.ts.map +1 -0
- package/dist/src/components/thread/ThreadInfo.js +28 -0
- package/dist/src/components/thread/UserSection.d.ts +3 -0
- package/dist/src/components/thread/UserSection.d.ts.map +1 -0
- package/dist/src/components/thread/UserSection.js +81 -0
- package/dist/src/constants/botFlow.d.ts +5 -0
- package/dist/src/constants/botFlow.d.ts.map +1 -0
- package/dist/src/constants/botFlow.js +4 -0
- package/dist/src/constants/im.d.ts +3 -0
- package/dist/src/constants/im.d.ts.map +1 -0
- package/dist/src/constants/im.js +2 -0
- package/dist/src/constants/images.d.ts +5 -0
- package/dist/src/constants/images.d.ts.map +1 -0
- package/dist/src/constants/images.js +7 -0
- package/dist/src/constants/index.d.ts +10 -0
- package/dist/src/constants/index.d.ts.map +1 -0
- package/dist/src/constants/index.js +9 -0
- package/dist/src/constants/moreOption.d.ts +20 -0
- package/dist/src/constants/moreOption.d.ts.map +1 -0
- package/dist/src/constants/moreOption.js +51 -0
- package/dist/src/constants/sdk.d.ts +4 -0
- package/dist/src/constants/sdk.d.ts.map +1 -0
- package/dist/src/constants/sdk.js +14 -0
- package/dist/src/context/ChatContext.d.ts +6 -0
- package/dist/src/context/ChatContext.d.ts.map +1 -0
- package/dist/src/context/ChatContext.js +96 -0
- package/dist/src/hooks/canned-response/useFetchCannedCategories.d.ts +3 -0
- package/dist/src/hooks/canned-response/useFetchCannedCategories.d.ts.map +1 -0
- package/dist/src/hooks/canned-response/useFetchCannedCategories.js +13 -0
- package/dist/src/hooks/canned-response/useFetchCannedResponse.d.ts +219 -0
- package/dist/src/hooks/canned-response/useFetchCannedResponse.d.ts.map +1 -0
- package/dist/src/hooks/canned-response/useFetchCannedResponse.js +55 -0
- package/dist/src/hooks/common/useFetchUrlMetadata.d.ts +9 -0
- package/dist/src/hooks/common/useFetchUrlMetadata.d.ts.map +1 -0
- package/dist/src/hooks/common/useFetchUrlMetadata.js +21 -0
- package/dist/src/hooks/common/useIsMobile.d.ts +2 -0
- package/dist/src/hooks/common/useIsMobile.d.ts.map +1 -0
- package/dist/src/hooks/common/useIsMobile.js +15 -0
- package/dist/src/hooks/conversation/useActiveConversation.d.ts +3 -0
- package/dist/src/hooks/conversation/useActiveConversation.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useActiveConversation.js +31 -0
- package/dist/src/hooks/conversation/useBotConversationDetail.d.ts +4 -0
- package/dist/src/hooks/conversation/useBotConversationDetail.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useBotConversationDetail.js +19 -0
- package/dist/src/hooks/conversation/useBotDetail.d.ts +3 -0
- package/dist/src/hooks/conversation/useBotDetail.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useBotDetail.js +18 -0
- package/dist/src/hooks/conversation/useBotFlow.d.ts +19 -0
- package/dist/src/hooks/conversation/useBotFlow.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useBotFlow.js +160 -0
- package/dist/src/hooks/conversation/useBotMainMenu.d.ts +3 -0
- package/dist/src/hooks/conversation/useBotMainMenu.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useBotMainMenu.js +6 -0
- package/dist/src/hooks/conversation/useConversation.d.ts +13 -0
- package/dist/src/hooks/conversation/useConversation.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useConversation.js +69 -0
- package/dist/src/hooks/conversation/useConversationAvatarUrl.d.ts +3 -0
- package/dist/src/hooks/conversation/useConversationAvatarUrl.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useConversationAvatarUrl.js +11 -0
- package/dist/src/hooks/conversation/useConversationList.d.ts +15 -0
- package/dist/src/hooks/conversation/useConversationList.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useConversationList.js +70 -0
- package/dist/src/hooks/conversation/useCreateConversation.d.ts +8 -0
- package/dist/src/hooks/conversation/useCreateConversation.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useCreateConversation.js +15 -0
- package/dist/src/hooks/conversation/useResetBotFlow.d.ts +3 -0
- package/dist/src/hooks/conversation/useResetBotFlow.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useResetBotFlow.js +14 -0
- package/dist/src/hooks/conversation/useResolveConversation.d.ts +11 -0
- package/dist/src/hooks/conversation/useResolveConversation.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useResolveConversation.js +90 -0
- package/dist/src/hooks/conversation/useRunBotFlow.d.ts +7 -0
- package/dist/src/hooks/conversation/useRunBotFlow.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useRunBotFlow.js +14 -0
- package/dist/src/hooks/conversation/useSwitchToCsTeam.d.ts +11 -0
- package/dist/src/hooks/conversation/useSwitchToCsTeam.d.ts.map +1 -0
- package/dist/src/hooks/conversation/useSwitchToCsTeam.js +46 -0
- package/dist/src/hooks/global/useGlobalEvent.d.ts +2 -0
- package/dist/src/hooks/global/useGlobalEvent.d.ts.map +1 -0
- package/dist/src/hooks/global/useGlobalEvent.js +286 -0
- package/dist/src/hooks/group/useGroupMembers.d.ts +10 -0
- package/dist/src/hooks/group/useGroupMembers.d.ts.map +1 -0
- package/dist/src/hooks/group/useGroupMembers.js +61 -0
- package/dist/src/hooks/init/useChatToken.d.ts +2 -0
- package/dist/src/hooks/init/useChatToken.d.ts.map +1 -0
- package/dist/src/hooks/init/useChatToken.js +11 -0
- package/dist/src/hooks/message/useConversationMessages.d.ts +27 -0
- package/dist/src/hooks/message/useConversationMessages.d.ts.map +1 -0
- package/dist/src/hooks/message/useConversationMessages.js +30 -0
- package/dist/src/hooks/message/useMessage.d.ts +26 -0
- package/dist/src/hooks/message/useMessage.d.ts.map +1 -0
- package/dist/src/hooks/message/useMessage.js +320 -0
- package/dist/src/hooks/message/useMessageListScroll.d.ts +30 -0
- package/dist/src/hooks/message/useMessageListScroll.d.ts.map +1 -0
- package/dist/src/hooks/message/useMessageListScroll.js +120 -0
- package/dist/src/hooks/message/usePinMessage.d.ts +7 -0
- package/dist/src/hooks/message/usePinMessage.d.ts.map +1 -0
- package/dist/src/hooks/message/usePinMessage.js +42 -0
- package/dist/src/hooks/message/usePinnedMessages.d.ts +7 -0
- package/dist/src/hooks/message/usePinnedMessages.d.ts.map +1 -0
- package/dist/src/hooks/message/usePinnedMessages.js +35 -0
- package/dist/src/hooks/message/usePullSessionMessages.d.ts +11 -0
- package/dist/src/hooks/message/usePullSessionMessages.d.ts.map +1 -0
- package/dist/src/hooks/message/usePullSessionMessages.js +30 -0
- package/dist/src/hooks/message/useRevokeMessage.d.ts +6 -0
- package/dist/src/hooks/message/useRevokeMessage.d.ts.map +1 -0
- package/dist/src/hooks/message/useRevokeMessage.js +38 -0
- package/dist/src/hooks/message/useSendMessage.d.ts +53 -0
- package/dist/src/hooks/message/useSendMessage.d.ts.map +1 -0
- package/dist/src/hooks/message/useSendMessage.js +563 -0
- package/dist/src/hooks/search/useSearchMessage.d.ts +233 -0
- package/dist/src/hooks/search/useSearchMessage.d.ts.map +1 -0
- package/dist/src/hooks/search/useSearchMessage.js +72 -0
- package/dist/src/hooks/session/useAssignSession.d.ts +12 -0
- package/dist/src/hooks/session/useAssignSession.d.ts.map +1 -0
- package/dist/src/hooks/session/useAssignSession.js +48 -0
- package/dist/src/hooks/session/useCloseSession.d.ts +3 -0
- package/dist/src/hooks/session/useCloseSession.d.ts.map +1 -0
- package/dist/src/hooks/session/useCloseSession.js +23 -0
- package/dist/src/hooks/session/useConversationSessionState.d.ts +14 -0
- package/dist/src/hooks/session/useConversationSessionState.d.ts.map +1 -0
- package/dist/src/hooks/session/useConversationSessionState.js +18 -0
- package/dist/src/hooks/session/useCreateNote.d.ts +7 -0
- package/dist/src/hooks/session/useCreateNote.d.ts.map +1 -0
- package/dist/src/hooks/session/useCreateNote.js +21 -0
- package/dist/src/hooks/session/useGetLabelSession.d.ts +3 -0
- package/dist/src/hooks/session/useGetLabelSession.d.ts.map +1 -0
- package/dist/src/hooks/session/useGetLabelSession.js +20 -0
- package/dist/src/hooks/session/useGetListSessionByConversation.d.ts +9 -0
- package/dist/src/hooks/session/useGetListSessionByConversation.d.ts.map +1 -0
- package/dist/src/hooks/session/useGetListSessionByConversation.js +29 -0
- package/dist/src/hooks/session/useGetSession.d.ts +228 -0
- package/dist/src/hooks/session/useGetSession.d.ts.map +1 -0
- package/dist/src/hooks/session/useGetSession.js +180 -0
- package/dist/src/hooks/session/useGetSessionSummary.d.ts +3 -0
- package/dist/src/hooks/session/useGetSessionSummary.d.ts.map +1 -0
- package/dist/src/hooks/session/useGetSessionSummary.js +15 -0
- package/dist/src/hooks/session/useGetTeamSessionSummary.d.ts +3 -0
- package/dist/src/hooks/session/useGetTeamSessionSummary.d.ts.map +1 -0
- package/dist/src/hooks/session/useGetTeamSessionSummary.js +18 -0
- package/dist/src/hooks/session/useGetTeamSupporters.d.ts +9 -0
- package/dist/src/hooks/session/useGetTeamSupporters.d.ts.map +1 -0
- package/dist/src/hooks/session/useGetTeamSupporters.js +20 -0
- package/dist/src/hooks/session/useGetUserSideInfo.d.ts +3 -0
- package/dist/src/hooks/session/useGetUserSideInfo.d.ts.map +1 -0
- package/dist/src/hooks/session/useGetUserSideInfo.js +18 -0
- package/dist/src/hooks/session/useIsJoinedGroup.d.ts +5 -0
- package/dist/src/hooks/session/useIsJoinedGroup.d.ts.map +1 -0
- package/dist/src/hooks/session/useIsJoinedGroup.js +18 -0
- package/dist/src/hooks/session/useJoinGroupFlow.d.ts +14 -0
- package/dist/src/hooks/session/useJoinGroupFlow.d.ts.map +1 -0
- package/dist/src/hooks/session/useJoinGroupFlow.js +34 -0
- package/dist/src/hooks/session/useJoinSession.d.ts +3 -0
- package/dist/src/hooks/session/useJoinSession.d.ts.map +1 -0
- package/dist/src/hooks/session/useJoinSession.js +41 -0
- package/dist/src/hooks/session/useLeaveConversation.d.ts +5 -0
- package/dist/src/hooks/session/useLeaveConversation.d.ts.map +1 -0
- package/dist/src/hooks/session/useLeaveConversation.js +35 -0
- package/dist/src/hooks/session/useReopenOrCreateSession.d.ts +4 -0
- package/dist/src/hooks/session/useReopenOrCreateSession.d.ts.map +1 -0
- package/dist/src/hooks/session/useReopenOrCreateSession.js +32 -0
- package/dist/src/hooks/session/useSessionLatestPreview.d.ts +7 -0
- package/dist/src/hooks/session/useSessionLatestPreview.d.ts.map +1 -0
- package/dist/src/hooks/session/useSessionLatestPreview.js +82 -0
- package/dist/src/hooks/session/useSortedSessions.d.ts +4 -0
- package/dist/src/hooks/session/useSortedSessions.d.ts.map +1 -0
- package/dist/src/hooks/session/useSortedSessions.js +13 -0
- package/dist/src/hooks/session/useSyncGroupStateAfterJoin.d.ts +9 -0
- package/dist/src/hooks/session/useSyncGroupStateAfterJoin.d.ts.map +1 -0
- package/dist/src/hooks/session/useSyncGroupStateAfterJoin.js +23 -0
- package/dist/src/hooks/session/useUpdateNote.d.ts +6 -0
- package/dist/src/hooks/session/useUpdateNote.d.ts.map +1 -0
- package/dist/src/hooks/session/useUpdateNote.js +18 -0
- package/dist/src/hooks/session/useUpdateSession.d.ts +10 -0
- package/dist/src/hooks/session/useUpdateSession.d.ts.map +1 -0
- package/dist/src/hooks/session/useUpdateSession.js +27 -0
- package/dist/src/hooks/session/useUpdateSessionInfo.d.ts +10 -0
- package/dist/src/hooks/session/useUpdateSessionInfo.d.ts.map +1 -0
- package/dist/src/hooks/session/useUpdateSessionInfo.js +24 -0
- package/dist/src/hooks/team/useFetchMyTeam.d.ts +3 -0
- package/dist/src/hooks/team/useFetchMyTeam.d.ts.map +1 -0
- package/dist/src/hooks/team/useFetchMyTeam.js +12 -0
- package/dist/src/hooks/user/useAuth.d.ts +4 -0
- package/dist/src/hooks/user/useAuth.d.ts.map +1 -0
- package/dist/src/hooks/user/useAuth.js +27 -0
- package/dist/src/hooks/user/useCurrentUserAccountType.d.ts +3 -0
- package/dist/src/hooks/user/useCurrentUserAccountType.d.ts.map +1 -0
- package/dist/src/hooks/user/useCurrentUserAccountType.js +30 -0
- package/dist/src/hooks/user/useUpdateFcmToken.d.ts +3 -0
- package/dist/src/hooks/user/useUpdateFcmToken.d.ts.map +1 -0
- package/dist/src/hooks/user/useUpdateFcmToken.js +21 -0
- package/dist/src/hooks/user/useUsersInfo.d.ts +4 -0
- package/dist/src/hooks/user/useUsersInfo.d.ts.map +1 -0
- package/dist/src/hooks/user/useUsersInfo.js +56 -0
- package/dist/src/index.d.ts +47 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +44 -0
- package/dist/src/layout/index.d.ts +7 -0
- package/dist/src/layout/index.d.ts.map +1 -0
- package/dist/src/layout/index.js +13 -0
- package/dist/src/locales/i18n.d.ts +3 -0
- package/dist/src/locales/i18n.d.ts.map +1 -0
- package/dist/src/locales/i18n.js +17 -0
- package/dist/src/locales/vi/common.json +162 -0
- package/dist/src/locales/vi/conversation-inbox.json +41 -0
- package/dist/src/screens/chat-bubble/index.d.ts +7 -0
- package/dist/src/screens/chat-bubble/index.d.ts.map +1 -0
- package/dist/src/screens/chat-bubble/index.js +41 -0
- package/dist/src/screens/conversation-detail/index.d.ts +10 -0
- package/dist/src/screens/conversation-detail/index.d.ts.map +1 -0
- package/dist/src/screens/conversation-detail/index.js +69 -0
- package/dist/src/screens/conversation-inbox/index.d.ts +10 -0
- package/dist/src/screens/conversation-inbox/index.d.ts.map +1 -0
- package/dist/src/screens/conversation-inbox/index.js +30 -0
- package/dist/src/screens/desk-message/index.d.ts +6 -0
- package/dist/src/screens/desk-message/index.d.ts.map +1 -0
- package/dist/src/screens/desk-message/index.js +17 -0
- package/dist/src/services/api.d.ts +2 -0
- package/dist/src/services/api.d.ts.map +1 -0
- package/dist/src/services/api.js +65 -0
- package/dist/src/services/query.d.ts +38 -0
- package/dist/src/services/query.d.ts.map +1 -0
- package/dist/src/services/query.js +37 -0
- package/dist/src/services/routes.d.ts +46 -0
- package/dist/src/services/routes.d.ts.map +1 -0
- package/dist/src/services/routes.js +45 -0
- package/dist/src/store/auth.d.ts +4 -0
- package/dist/src/store/auth.d.ts.map +1 -0
- package/dist/src/store/auth.js +38 -0
- package/dist/src/store/conversation.d.ts +4 -0
- package/dist/src/store/conversation.d.ts.map +1 -0
- package/dist/src/store/conversation.js +208 -0
- package/dist/src/store/index.d.ts +3 -0
- package/dist/src/store/index.d.ts.map +1 -0
- package/dist/src/store/index.js +2 -0
- package/dist/src/store/messageDraft.d.ts +9 -0
- package/dist/src/store/messageDraft.d.ts.map +1 -0
- package/dist/src/store/messageDraft.js +35 -0
- package/dist/src/store/session.d.ts +8 -0
- package/dist/src/store/session.d.ts.map +1 -0
- package/dist/src/store/session.js +10 -0
- package/dist/src/store/type.d.ts +124 -0
- package/dist/src/store/type.d.ts.map +1 -0
- package/dist/src/store/type.js +1 -0
- package/dist/src/store/user.d.ts +4 -0
- package/dist/src/store/user.d.ts.map +1 -0
- package/dist/src/store/user.js +8 -0
- package/dist/src/store/usersInfo.d.ts +4 -0
- package/dist/src/store/usersInfo.d.ts.map +1 -0
- package/dist/src/store/usersInfo.js +12 -0
- package/dist/src/types/chat.d.ts +164 -0
- package/dist/src/types/chat.d.ts.map +1 -0
- package/dist/src/types/chat.js +63 -0
- package/dist/src/types/conversation.d.ts +140 -0
- package/dist/src/types/conversation.d.ts.map +1 -0
- package/dist/src/types/conversation.js +38 -0
- package/dist/src/types/customMessage.d.ts +25 -0
- package/dist/src/types/customMessage.d.ts.map +1 -0
- package/dist/src/types/customMessage.js +4 -0
- package/dist/src/types/dto.d.ts +253 -0
- package/dist/src/types/dto.d.ts.map +1 -0
- package/dist/src/types/dto.js +1 -0
- package/dist/src/utils/botFlow.d.ts +7 -0
- package/dist/src/utils/botFlow.d.ts.map +1 -0
- package/dist/src/utils/botFlow.js +9 -0
- package/dist/src/utils/common.d.ts +50 -0
- package/dist/src/utils/common.d.ts.map +1 -0
- package/dist/src/utils/common.js +329 -0
- package/dist/src/utils/conversation.d.ts +13 -0
- package/dist/src/utils/conversation.d.ts.map +1 -0
- package/dist/src/utils/conversation.js +63 -0
- package/dist/src/utils/customMessage.d.ts +5 -0
- package/dist/src/utils/customMessage.d.ts.map +1 -0
- package/dist/src/utils/customMessage.js +36 -0
- package/dist/src/utils/events.d.ts +21 -0
- package/dist/src/utils/events.d.ts.map +1 -0
- package/dist/src/utils/events.js +4 -0
- package/dist/src/utils/fileValidation.d.ts +30 -0
- package/dist/src/utils/fileValidation.d.ts.map +1 -0
- package/dist/src/utils/fileValidation.js +110 -0
- package/dist/src/utils/imCommon.d.ts +27 -0
- package/dist/src/utils/imCommon.d.ts.map +1 -0
- package/dist/src/utils/imCommon.js +58 -0
- package/dist/src/utils/link.d.ts +13 -0
- package/dist/src/utils/link.d.ts.map +1 -0
- package/dist/src/utils/link.js +77 -0
- package/dist/src/utils/messageLog.d.ts +6 -0
- package/dist/src/utils/messageLog.d.ts.map +1 -0
- package/dist/src/utils/messageLog.js +51 -0
- package/dist/src/utils/messageTransform.d.ts +5 -0
- package/dist/src/utils/messageTransform.d.ts.map +1 -0
- package/dist/src/utils/messageTransform.js +112 -0
- package/dist/src/utils/openLink.d.ts +3 -0
- package/dist/src/utils/openLink.d.ts.map +1 -0
- package/dist/src/utils/openLink.js +19 -0
- package/dist/src/utils/queryHelpers.d.ts +3 -0
- package/dist/src/utils/queryHelpers.d.ts.map +1 -0
- package/dist/src/utils/queryHelpers.js +13 -0
- package/dist/store/auth.js +1 -1
- package/dist/store/conversation.js +2 -2
- package/dist/store/session.js +1 -1
- package/dist/store/type.d.ts +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/dto.d.ts +1 -1
- package/dist/utils/botFlow.d.ts +2 -2
- package/dist/utils/botFlow.js +2 -2
- package/dist/utils/common.d.ts +2 -2
- package/dist/utils/common.js +2 -2
- package/dist/utils/conversation.d.ts +1 -1
- package/dist/utils/conversation.js +2 -2
- package/dist/utils/customMessage.d.ts +1 -1
- package/dist/utils/customMessage.js +1 -1
- package/dist/utils/events.d.ts +1 -1
- package/dist/utils/imCommon.js +1 -1
- package/dist/utils/messageTransform.d.ts +1 -1
- package/dist/utils/queryHelpers.js +1 -1
- package/package.json +127 -126
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import { Tabs } from "antd";
|
|
5
|
+
import { useMemo } from "react";
|
|
6
|
+
import { useTranslation } from "react-i18next";
|
|
7
|
+
const COMPOSER_TABS = [
|
|
8
|
+
{
|
|
9
|
+
isInternal: false,
|
|
10
|
+
activeClassName: "text-indigo-600",
|
|
11
|
+
labelKey: "reply",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
isInternal: true,
|
|
15
|
+
activeClassName: "text-orange-600",
|
|
16
|
+
labelKey: "internal",
|
|
17
|
+
},
|
|
18
|
+
];
|
|
19
|
+
const ComposerTabs = ({ canUseInternal, hintText, isInternal, lockToInternal, setIsInternal, }) => {
|
|
20
|
+
const { t } = useTranslation();
|
|
21
|
+
const items = useMemo(() => COMPOSER_TABS.map((tab) => ({
|
|
22
|
+
key: String(tab.isInternal),
|
|
23
|
+
disabled: lockToInternal && !tab.isInternal,
|
|
24
|
+
label: (_jsx("span", { className: clsx("text-sm font-semibold", isInternal === tab.isInternal
|
|
25
|
+
? tab.activeClassName
|
|
26
|
+
: lockToInternal && !tab.isInternal
|
|
27
|
+
? "text-gray-300"
|
|
28
|
+
: "text-gray-500"), children: t(tab.labelKey) })),
|
|
29
|
+
children: null,
|
|
30
|
+
})), [isInternal, lockToInternal, t]);
|
|
31
|
+
if (!canUseInternal) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return (_jsx(Tabs, { activeKey: String(isInternal), items: items, onChange: (value) => {
|
|
35
|
+
if (lockToInternal && value !== "true") {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
setIsInternal(value === "true");
|
|
39
|
+
}, tabBarExtraContent: {
|
|
40
|
+
left: _jsx("p", { className: "pr-4 text-sm text-gray-500", children: hintText }),
|
|
41
|
+
}, className: clsx("[&_.ant-tabs-content-holder]:hidden [&_.ant-tabs-ink-bar]:hidden [&_.ant-tabs-nav]:mb-0 [&_.ant-tabs-nav]:px-4 [&_.ant-tabs-nav]:pt-0 [&_.ant-tabs-nav]:before:border-b-0 [&_.ant-tabs-nav-wrap]:justify-end [&_.ant-tabs-extra-content]:flex [&_.ant-tabs-extra-content]:items-center [&_.ant-tabs-extra-content]:overflow-hidden [&_.ant-tabs-extra-content]:text-ellipsis [&_.ant-tabs-tab]:mb-0 [&_.ant-tabs-tab]:rounded-t-[16px] [&_.ant-tabs-tab]:border [&_.ant-tabs-tab]:border-b-0 [&_.ant-tabs-tab]:border-transparent [&_.ant-tabs-tab]:px-3 [&_.ant-tabs-tab]:py-1.5 [&_.ant-tabs-tab]:leading-5 [&_.ant-tabs-tab-btn]:leading-5", isInternal
|
|
42
|
+
? "[&_.ant-tabs-tab-active]:border-orange-200 [&_.ant-tabs-tab-active]:bg-orange-50"
|
|
43
|
+
: "[&_.ant-tabs-tab-active]:border-indigo-200 [&_.ant-tabs-tab-active]:bg-indigo-50") }));
|
|
44
|
+
};
|
|
45
|
+
export default ComposerTabs;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComposerTextSyncPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/message/footer/ComposerTextSyncPlugin.tsx"],"names":[],"mappings":"AAMA,UAAU,2BAA2B;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,QAAA,MAAM,sBAAsB,GAAI,cAAc,2BAA2B,SAYxE,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
|
|
3
|
+
import { $getRoot } from "lexical";
|
|
4
|
+
import { useEffect } from "react";
|
|
5
|
+
const ComposerTextSyncPlugin = ({ onChange }) => {
|
|
6
|
+
const [editor] = useLexicalComposerContext();
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
return editor.registerUpdateListener(({ editorState }) => {
|
|
9
|
+
editorState.read(() => {
|
|
10
|
+
onChange($getRoot().getTextContent());
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
}, [editor, onChange]);
|
|
14
|
+
return null;
|
|
15
|
+
};
|
|
16
|
+
export default ComposerTextSyncPlugin;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface EmojiPickerProps {
|
|
2
|
+
onEmojiSelect: (emoji: string) => void;
|
|
3
|
+
onClose: () => void;
|
|
4
|
+
}
|
|
5
|
+
declare const EmojiPicker: ({ onEmojiSelect, onClose }: EmojiPickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default EmojiPicker;
|
|
7
|
+
//# sourceMappingURL=EmojiPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmojiPicker.d.ts","sourceRoot":"","sources":["../../../../../src/components/message/footer/EmojiPicker.tsx"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,QAAA,MAAM,WAAW,GAAI,4BAA4B,gBAAgB,4CAiMhE,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
const EmojiPicker = ({ onEmojiSelect, onClose }) => {
|
|
6
|
+
const { t } = useTranslation("common");
|
|
7
|
+
const [activeCategory, setActiveCategory] = useState("smileys");
|
|
8
|
+
const emojiCategories = {
|
|
9
|
+
smileys: {
|
|
10
|
+
name: t("emoji_smileys"),
|
|
11
|
+
emojis: [
|
|
12
|
+
"😀",
|
|
13
|
+
"😃",
|
|
14
|
+
"😄",
|
|
15
|
+
"😁",
|
|
16
|
+
"😆",
|
|
17
|
+
"😅",
|
|
18
|
+
"😂",
|
|
19
|
+
"🤣",
|
|
20
|
+
"😊",
|
|
21
|
+
"😇",
|
|
22
|
+
"🙂",
|
|
23
|
+
"🙃",
|
|
24
|
+
"😉",
|
|
25
|
+
"😌",
|
|
26
|
+
"😍",
|
|
27
|
+
"🥰",
|
|
28
|
+
"😘",
|
|
29
|
+
"😗",
|
|
30
|
+
"😙",
|
|
31
|
+
"😚",
|
|
32
|
+
"😋",
|
|
33
|
+
"😛",
|
|
34
|
+
"😝",
|
|
35
|
+
"😜",
|
|
36
|
+
"🤪",
|
|
37
|
+
"🤨",
|
|
38
|
+
"🧐",
|
|
39
|
+
"🤓",
|
|
40
|
+
"😎",
|
|
41
|
+
"🤩",
|
|
42
|
+
"🥳",
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
nature: {
|
|
46
|
+
name: t("emoji_nature"),
|
|
47
|
+
emojis: [
|
|
48
|
+
"🐶",
|
|
49
|
+
"🐱",
|
|
50
|
+
"🐭",
|
|
51
|
+
"🐹",
|
|
52
|
+
"🐰",
|
|
53
|
+
"🦊",
|
|
54
|
+
"🐻",
|
|
55
|
+
"🐼",
|
|
56
|
+
"🐨",
|
|
57
|
+
"🐯",
|
|
58
|
+
"🦁",
|
|
59
|
+
"🐮",
|
|
60
|
+
"🐷",
|
|
61
|
+
"🐸",
|
|
62
|
+
"🐵",
|
|
63
|
+
"🙈",
|
|
64
|
+
"🙉",
|
|
65
|
+
"🙊",
|
|
66
|
+
"🐒",
|
|
67
|
+
"🐔",
|
|
68
|
+
"🐧",
|
|
69
|
+
"🐦",
|
|
70
|
+
"🐤",
|
|
71
|
+
"🐣",
|
|
72
|
+
"🐥",
|
|
73
|
+
"🦆",
|
|
74
|
+
"🦅",
|
|
75
|
+
"🦉",
|
|
76
|
+
"🦇",
|
|
77
|
+
"🐺",
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
food: {
|
|
81
|
+
name: t("emoji_food"),
|
|
82
|
+
emojis: [
|
|
83
|
+
"🍎",
|
|
84
|
+
"🍐",
|
|
85
|
+
"🍊",
|
|
86
|
+
"🍋",
|
|
87
|
+
"🍌",
|
|
88
|
+
"🍉",
|
|
89
|
+
"🍇",
|
|
90
|
+
"🍓",
|
|
91
|
+
"🍈",
|
|
92
|
+
"🍒",
|
|
93
|
+
"🍑",
|
|
94
|
+
"🥭",
|
|
95
|
+
"🍍",
|
|
96
|
+
"🥥",
|
|
97
|
+
"🥝",
|
|
98
|
+
"🍅",
|
|
99
|
+
"🍆",
|
|
100
|
+
"🥑",
|
|
101
|
+
"🥦",
|
|
102
|
+
"🥬",
|
|
103
|
+
"🥒",
|
|
104
|
+
"🌶️",
|
|
105
|
+
"🌽",
|
|
106
|
+
"🥕",
|
|
107
|
+
"🧄",
|
|
108
|
+
"🧅",
|
|
109
|
+
"🥔",
|
|
110
|
+
"🍠",
|
|
111
|
+
"🥐",
|
|
112
|
+
"🍞",
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
activities: {
|
|
116
|
+
name: t("emoji_activities"),
|
|
117
|
+
emojis: [
|
|
118
|
+
"⚽",
|
|
119
|
+
"🏀",
|
|
120
|
+
"🏈",
|
|
121
|
+
"⚾",
|
|
122
|
+
"🥎",
|
|
123
|
+
"🎾",
|
|
124
|
+
"🏐",
|
|
125
|
+
"🏉",
|
|
126
|
+
"🥏",
|
|
127
|
+
"🎱",
|
|
128
|
+
"🪀",
|
|
129
|
+
"🏓",
|
|
130
|
+
"🏸",
|
|
131
|
+
"🏒",
|
|
132
|
+
"🏑",
|
|
133
|
+
"🥍",
|
|
134
|
+
"🏏",
|
|
135
|
+
"🪃",
|
|
136
|
+
"🥅",
|
|
137
|
+
"⛳",
|
|
138
|
+
"🪁",
|
|
139
|
+
"🏹",
|
|
140
|
+
"🎣",
|
|
141
|
+
"🤿",
|
|
142
|
+
"🥊",
|
|
143
|
+
"🥋",
|
|
144
|
+
"🎽",
|
|
145
|
+
"🛹",
|
|
146
|
+
"🛷",
|
|
147
|
+
"⛸️",
|
|
148
|
+
],
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
return (_jsx("div", { className: "absolute bottom-full left-0 mb-2 bg-white border border-gray-200 rounded-xl shadow-lg w-96 z-50", children: _jsxs("div", { className: "p-3", children: [_jsxs("div", { className: "flex items-center justify-between mb-3", children: [_jsx("h3", { className: "font-medium text-gray-900", children: t("choose_emoji") }), _jsx("button", { onClick: onClose, className: "text-gray-400 hover:text-gray-600 text-xl", children: "\u00D7" })] }), _jsx("div", { className: "flex gap-1 mb-3", children: Object.entries(emojiCategories).map(([key, category]) => (_jsx("button", { onClick: () => setActiveCategory(key), className: `px-3 py-1 text-xs rounded-full transition-colors ${activeCategory === key
|
|
152
|
+
? "bg-blue-100 text-blue-600"
|
|
153
|
+
: "text-gray-500 hover:text-gray-700"}`, children: category.name }, key))) }), _jsx("div", { className: "grid grid-cols-8 gap-1 max-h-48 overflow-y-auto", children: emojiCategories[activeCategory].emojis.map((emoji, index) => (_jsx("button", { onClick: () => onEmojiSelect(emoji), className: "p-2 text-xl hover:bg-gray-100 rounded-lg transition-colors", children: emoji }, index))) })] }) }));
|
|
154
|
+
};
|
|
155
|
+
export default EmojiPicker;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnterHandler.d.ts","sourceRoot":"","sources":["../../../../../src/components/message/footer/EnterHandler.tsx"],"names":[],"mappings":"AAuBA,MAAM,CAAC,OAAO,UAAU,YAAY,SAsInC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
|
|
3
|
+
import { KEY_ENTER_COMMAND, COMMAND_PRIORITY_NORMAL, $getSelection, $isRangeSelection, $createParagraphNode, $getRoot, } from "lexical";
|
|
4
|
+
import { useEffect, useRef } from "react";
|
|
5
|
+
import { $generateHtmlFromNodes } from "@lexical/html";
|
|
6
|
+
import { $isListNode, INSERT_ORDERED_LIST_COMMAND, INSERT_UNORDERED_LIST_COMMAND, } from "@lexical/list";
|
|
7
|
+
import { $isQuoteNode } from "@lexical/rich-text";
|
|
8
|
+
import { useMessageFooterContext } from ".";
|
|
9
|
+
import useConversationStore from "../../../store/conversation";
|
|
10
|
+
import emitter, { emit } from "../../../utils/events";
|
|
11
|
+
export default function EnterHandler() {
|
|
12
|
+
const [editor] = useLexicalComposerContext();
|
|
13
|
+
const { onSendMessage, isInternal, listUploadFiles, isOpenCanned, activeCannedIndex, } = useMessageFooterContext();
|
|
14
|
+
const shiftEnterCount = useRef(0);
|
|
15
|
+
const quotedMessage = useConversationStore((state) => state.quotedMessage);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
return editor.registerCommand(KEY_ENTER_COMMAND, (event) => {
|
|
18
|
+
// Case 1: Enter (submit, chặn xuống dòng)
|
|
19
|
+
if (!event.shiftKey) {
|
|
20
|
+
event.preventDefault();
|
|
21
|
+
shiftEnterCount.current = 0;
|
|
22
|
+
if (isOpenCanned) {
|
|
23
|
+
emit("CANNED_RESPONSE_SELECT", activeCannedIndex);
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
let plainText = "";
|
|
27
|
+
let richText = "";
|
|
28
|
+
// lấy plain text & html
|
|
29
|
+
editor.getEditorState().read(() => {
|
|
30
|
+
plainText = $getRoot().getTextContent();
|
|
31
|
+
richText = $generateHtmlFromNodes(editor);
|
|
32
|
+
});
|
|
33
|
+
const hasText = plainText.trim().length > 0;
|
|
34
|
+
const hasFiles = listUploadFiles.length > 0;
|
|
35
|
+
const hasQuote = !!(quotedMessage === null || quotedMessage === void 0 ? void 0 : quotedMessage.clientMsgID);
|
|
36
|
+
const canSend = hasQuote ? hasText : hasText || hasFiles;
|
|
37
|
+
if (canSend) {
|
|
38
|
+
const sent = onSendMessage({
|
|
39
|
+
plainText,
|
|
40
|
+
richText,
|
|
41
|
+
type: hasFiles ? "file" : "text",
|
|
42
|
+
isInternal,
|
|
43
|
+
});
|
|
44
|
+
if (!sent) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
editor.update(() => {
|
|
49
|
+
const root = $getRoot();
|
|
50
|
+
root.clear();
|
|
51
|
+
const paragraph = $createParagraphNode();
|
|
52
|
+
root.append(paragraph);
|
|
53
|
+
paragraph.select();
|
|
54
|
+
const selection = $getSelection();
|
|
55
|
+
if ($isRangeSelection(selection)) {
|
|
56
|
+
const anchorNode = selection.anchor.getNode();
|
|
57
|
+
const topLevelNode = anchorNode.getTopLevelElementOrThrow();
|
|
58
|
+
const isListNode = $isListNode(topLevelNode);
|
|
59
|
+
const isQuoteNode = $isQuoteNode(topLevelNode);
|
|
60
|
+
const listType = isListNode
|
|
61
|
+
? topLevelNode.getListType()
|
|
62
|
+
: undefined;
|
|
63
|
+
if (selection.hasFormat("bold")) {
|
|
64
|
+
selection.formatText("bold");
|
|
65
|
+
}
|
|
66
|
+
if (selection.hasFormat("italic")) {
|
|
67
|
+
selection.formatText("italic");
|
|
68
|
+
}
|
|
69
|
+
if (selection.hasFormat("strikethrough")) {
|
|
70
|
+
selection.formatText("strikethrough");
|
|
71
|
+
}
|
|
72
|
+
if (isQuoteNode) {
|
|
73
|
+
// Nếu đang là QuoteNode → chuyển về Paragraph (bình thường)
|
|
74
|
+
const paragraph = $createParagraphNode();
|
|
75
|
+
// copy con của quote sang paragraph
|
|
76
|
+
const children = topLevelNode.getChildren();
|
|
77
|
+
children.forEach((child) => paragraph.append(child));
|
|
78
|
+
topLevelNode.replace(paragraph);
|
|
79
|
+
}
|
|
80
|
+
if (isListNode && listType) {
|
|
81
|
+
editor.dispatchCommand(listType === "number"
|
|
82
|
+
? INSERT_ORDERED_LIST_COMMAND
|
|
83
|
+
: INSERT_UNORDERED_LIST_COMMAND, undefined);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
return false;
|
|
90
|
+
}, COMMAND_PRIORITY_NORMAL);
|
|
91
|
+
}, [
|
|
92
|
+
editor,
|
|
93
|
+
onSendMessage,
|
|
94
|
+
listUploadFiles,
|
|
95
|
+
quotedMessage,
|
|
96
|
+
quotedMessage === null || quotedMessage === void 0 ? void 0 : quotedMessage.clientMsgID,
|
|
97
|
+
isInternal,
|
|
98
|
+
isOpenCanned,
|
|
99
|
+
activeCannedIndex,
|
|
100
|
+
]);
|
|
101
|
+
useEffect(() => {
|
|
102
|
+
const clearEditor = () => {
|
|
103
|
+
editor.update(() => {
|
|
104
|
+
const root = $getRoot();
|
|
105
|
+
root.clear();
|
|
106
|
+
const paragraph = $createParagraphNode();
|
|
107
|
+
root.append(paragraph);
|
|
108
|
+
paragraph.select();
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
emitter.on("CLEAR_COMPOSER", clearEditor);
|
|
112
|
+
return () => {
|
|
113
|
+
emitter.off("CLEAR_COMPOSER", clearEditor);
|
|
114
|
+
};
|
|
115
|
+
}, [editor]);
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { UploadFile } from "antd";
|
|
2
|
+
export declare function FilePreviewList({ files, onRemove, onVideoReady, }: {
|
|
3
|
+
files: UploadFile[];
|
|
4
|
+
onRemove: (file: UploadFile) => void;
|
|
5
|
+
onVideoReady?: () => void;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
declare const FilePreview: () => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default FilePreview;
|
|
9
|
+
//# sourceMappingURL=FilePreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilePreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/message/footer/FilePreview.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AA6IlC,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,EACR,YAAY,GACb,EAAE;IACD,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,kDAsBA;AAED,QAAA,MAAM,WAAW,+CAQhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
import { useMessageFooterContext } from ".";
|
|
5
|
+
import { Icon } from "../../../components/icon";
|
|
6
|
+
import { documentIcon } from "../../../assets/svg";
|
|
7
|
+
import { DOCUMENT_MIME_TYPES } from "../../../utils/fileValidation";
|
|
8
|
+
import { formatDuration, shortenFileName } from "../../../utils/common";
|
|
9
|
+
const formatFileSize = (bytes) => {
|
|
10
|
+
if (bytes === 0)
|
|
11
|
+
return "0 B";
|
|
12
|
+
if (bytes < 1024)
|
|
13
|
+
return `${bytes} B`;
|
|
14
|
+
const kb = bytes / 1024;
|
|
15
|
+
if (kb < 1024)
|
|
16
|
+
return `${Math.round(kb)} KB`;
|
|
17
|
+
return `${(kb / 1024).toFixed(1)} MB`;
|
|
18
|
+
};
|
|
19
|
+
const getFileType = (file) => {
|
|
20
|
+
var _a, _b, _c;
|
|
21
|
+
const mimeType = (_c = (_b = (_a = file.originFileObj) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : file.type) !== null && _c !== void 0 ? _c : "";
|
|
22
|
+
if (DOCUMENT_MIME_TYPES.includes(mimeType))
|
|
23
|
+
return "document";
|
|
24
|
+
if (mimeType.startsWith("video/"))
|
|
25
|
+
return "video";
|
|
26
|
+
return "image";
|
|
27
|
+
};
|
|
28
|
+
const RemoveButton = ({ file, onRemove }) => (_jsx("button", { type: "button", onClick: () => onRemove(file), className: "absolute -right-1 -top-1 flex h-5 w-5 items-center justify-center rounded-full bg-gray-900", "aria-label": "X\u00F3a", children: _jsx(Icon, { icon: "close-o", size: 12, className: "text-white" }) }));
|
|
29
|
+
const MediaThumb = ({ file, onRemove, onVideoReady }) => {
|
|
30
|
+
var _a;
|
|
31
|
+
const [src, setSrc] = useState("");
|
|
32
|
+
const [duration, setDuration] = useState(null);
|
|
33
|
+
const isVideo = getFileType(file) === "video";
|
|
34
|
+
const isLoading = file.status === "uploading";
|
|
35
|
+
const percent = Math.round((_a = file.percent) !== null && _a !== void 0 ? _a : 0);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
var _a;
|
|
38
|
+
const originFile = file.originFileObj;
|
|
39
|
+
if (!originFile) {
|
|
40
|
+
setSrc((_a = file.url) !== null && _a !== void 0 ? _a : "");
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const url = URL.createObjectURL(originFile);
|
|
44
|
+
setSrc(url);
|
|
45
|
+
return () => URL.revokeObjectURL(url);
|
|
46
|
+
}, [file.originFileObj, file.url]);
|
|
47
|
+
const handleLoadedMetadata = (event) => {
|
|
48
|
+
setDuration(event.currentTarget.duration);
|
|
49
|
+
onVideoReady === null || onVideoReady === void 0 ? void 0 : onVideoReady();
|
|
50
|
+
};
|
|
51
|
+
return (_jsxs("div", { className: "relative h-12 w-12 shrink-0", children: [isVideo ? (_jsx("video", { src: src, className: "h-12 w-12 rounded-lg object-cover", preload: "metadata", muted: true, onLoadedMetadata: handleLoadedMetadata })) : (_jsx("img", { src: src, alt: file.name, className: "h-12 w-12 rounded-lg object-cover" })), isLoading && (_jsx("div", { className: "absolute inset-0 flex items-center justify-center rounded-lg bg-black/60", children: _jsxs("span", { className: "text-xs font-semibold text-white", children: [percent, "%"] }) })), isVideo && duration !== null && (_jsx("div", { className: "absolute bottom-1 left-1/2 flex w-9 -translate-x-1/2 items-center justify-center rounded-xl bg-black/70 px-1 text-center text-[10px] font-normal leading-4 text-white", children: formatDuration(duration) })), _jsx(RemoveButton, { file: file, onRemove: onRemove })] }));
|
|
52
|
+
};
|
|
53
|
+
const DocumentCard = ({ file, onRemove }) => {
|
|
54
|
+
var _a, _b;
|
|
55
|
+
const isLoading = file.status === "uploading";
|
|
56
|
+
const percent = Math.round((_a = file.percent) !== null && _a !== void 0 ? _a : 0);
|
|
57
|
+
return (_jsxs("div", { className: "relative flex h-12 w-40 shrink-0 items-center gap-[7px] rounded-lg bg-chat-bubble-neutral/10 py-[4px] pl-2 pr-5", children: [_jsx("div", { className: "flex h-full w-8 shrink-0 items-center justify-center overflow-hidden [&>svg]:h-8 [&>svg]:w-8", children: documentIcon }), _jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [_jsx("span", { className: "truncate text-[11px] font-normal leading-[160%] text-gray-900", children: shortenFileName(file.name) }), isLoading ? (_jsxs("span", { className: "text-[10px] leading-[160%] tracking-[0.1px] text-gray-400", children: [percent, "%"] })) : (_jsx("span", { className: "text-[10px] leading-[160%] tracking-[0.1px] text-gray-400", children: formatFileSize((_b = file.size) !== null && _b !== void 0 ? _b : 0) }))] }), _jsx(RemoveButton, { file: file, onRemove: onRemove })] }));
|
|
58
|
+
};
|
|
59
|
+
export function FilePreviewList({ files, onRemove, onVideoReady, }) {
|
|
60
|
+
if (files.length === 0)
|
|
61
|
+
return null;
|
|
62
|
+
return (_jsx("div", { className: "flex items-center gap-3 self-stretch overflow-x-auto px-2 pb-2 pt-3", children: files.map((file) => {
|
|
63
|
+
if (getFileType(file) === "document") {
|
|
64
|
+
return (_jsx(DocumentCard, { file: file, onRemove: onRemove }, file.uid));
|
|
65
|
+
}
|
|
66
|
+
return (_jsx(MediaThumb, { file: file, onRemove: onRemove, onVideoReady: onVideoReady }, file.uid));
|
|
67
|
+
}) }));
|
|
68
|
+
}
|
|
69
|
+
const FilePreview = () => {
|
|
70
|
+
const { listUploadFiles, setListUploadFiles } = useMessageFooterContext();
|
|
71
|
+
const onRemoveFile = (file) => {
|
|
72
|
+
setListUploadFiles(listUploadFiles.filter((f) => f.uid !== file.uid));
|
|
73
|
+
};
|
|
74
|
+
return _jsx(FilePreviewList, { files: listUploadFiles, onRemove: onRemoveFile });
|
|
75
|
+
};
|
|
76
|
+
export default FilePreview;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface LinkInputPreviewProps {
|
|
2
|
+
url: string;
|
|
3
|
+
onRemove: () => void;
|
|
4
|
+
}
|
|
5
|
+
declare const LinkInputPreview: ({ url, onRemove }: LinkInputPreviewProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default LinkInputPreview;
|
|
7
|
+
//# sourceMappingURL=LinkInputPreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkInputPreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/message/footer/LinkInputPreview.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,gBAAgB,GAAI,mBAAmB,qBAAqB,4CAoEjE,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Icon } from "../../../components/icon";
|
|
4
|
+
import { useFetchUrlMetadata } from "../../../hooks/common/useFetchUrlMetadata";
|
|
5
|
+
import { getHostLabel } from "../../../utils/link";
|
|
6
|
+
import { openLink } from "../../../utils/openLink";
|
|
7
|
+
import { useTranslation } from "react-i18next";
|
|
8
|
+
const LinkInputPreview = ({ url, onRemove }) => {
|
|
9
|
+
const { t } = useTranslation("conversation-inbox");
|
|
10
|
+
const { data, isLoading, isError } = useFetchUrlMetadata(url);
|
|
11
|
+
const handleOpen = () => {
|
|
12
|
+
openLink(url, t);
|
|
13
|
+
};
|
|
14
|
+
return (_jsxs("div", { "data-testid": "link-input-preview", className: "flex w-full shrink-0 items-center gap-2 overflow-hidden bg-blue-25 pr-2", children: [_jsxs("button", { type: "button", onClick: handleOpen, className: "flex min-w-0 flex-1 items-center gap-2 py-0 pl-0 text-left", children: [_jsx("div", { className: "flex h-[51px] w-[51px] shrink-0 items-center justify-center overflow-hidden bg-blue-25", children: isLoading ? (_jsx("div", { className: "h-5 w-5 animate-spin rounded-full border-2 border-primary-400 border-t-transparent" })) : (data === null || data === void 0 ? void 0 : data.image) ? (_jsx("img", { src: data.image, alt: "", className: "h-full w-full object-cover" })) : (_jsx(Icon, { icon: "link-alt-b", size: 24, className: "text-primary-400" })) }), _jsxs("div", { className: "min-w-0 flex-1", children: [isLoading ? (_jsx("p", { className: "truncate text-[14px] font-medium leading-[1.6] text-gray-900", children: t("link_preview.loading") })) : (_jsxs(_Fragment, { children: [_jsx("p", { className: "truncate text-[14px] font-medium leading-[1.6] text-gray-900", children: (data === null || data === void 0 ? void 0 : data.title) || getHostLabel(url) }), ((data === null || data === void 0 ? void 0 : data.description) || !(data === null || data === void 0 ? void 0 : data.title)) && (_jsx("p", { className: "truncate text-[13px] leading-[1.6] text-gray-400", children: (data === null || data === void 0 ? void 0 : data.description) || getHostLabel(url) }))] })), isError && !isLoading && (_jsx("p", { className: "truncate text-[13px] leading-[1.6] text-gray-400", children: getHostLabel(url) }))] })] }), _jsx("button", { type: "button", onClick: onRemove, "data-testid": "link-input-preview-remove", className: "flex h-4 w-4 shrink-0 items-center justify-center", "aria-label": t("link_preview.remove"), children: _jsx(Icon, { icon: "close-b", size: 16, className: "text-gray-900" }) })] }));
|
|
15
|
+
};
|
|
16
|
+
export default LinkInputPreview;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { UploadFile } from "antd";
|
|
2
|
+
interface MediaActionsProps {
|
|
3
|
+
listUploadFiles: UploadFile[];
|
|
4
|
+
onFilesChange: (files: UploadFile[]) => void;
|
|
5
|
+
buttonClassName?: string;
|
|
6
|
+
showMediaUpload?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export default function MediaActions({ listUploadFiles, onFilesChange, buttonClassName, showMediaUpload, }: MediaActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=MediaActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaActions.d.ts","sourceRoot":"","sources":["../../../../../src/components/message/footer/MediaActions.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAkB,UAAU,EAA0B,MAAM,MAAM,CAAC;AAqD1E,UAAU,iBAAiB;IACzB,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,aAAa,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,eAAe,EACf,aAAa,EACb,eAAe,EACf,eAAsB,GACvB,EAAE,iBAAiB,2CAyKnB"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
4
|
+
import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
|
|
5
|
+
import { $getSelection, $isRangeSelection } from "lexical";
|
|
6
|
+
import { Button, Upload, message as antdMessage } from "antd";
|
|
7
|
+
import clsx from "clsx";
|
|
8
|
+
import { useTranslation } from "react-i18next";
|
|
9
|
+
import EmojiPicker from "./EmojiPicker";
|
|
10
|
+
import { Icon } from "../../../components/icon";
|
|
11
|
+
import { createUploadFile, validateFile, validateVideoLimit, } from "../../../utils/fileValidation";
|
|
12
|
+
import { DOCUMENT_TYPES } from "./editorConfig";
|
|
13
|
+
import CannedResponseIcon from "../../../assets/svg/canned-response";
|
|
14
|
+
import { useMessageFooterContext } from ".";
|
|
15
|
+
import useAuthStore from "../../../store/auth";
|
|
16
|
+
const EmojiIcon = (_jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M7.59997 12.4C7.59997 12.4 8.49997 13.2 9.99997 13.2C11.5 13.2 12.4 12.4 12.4 12.4M14 8.39997C14 8.8418 13.6418 9.19997 13.2 9.19997C12.7581 9.19997 12.4 8.8418 12.4 8.39997C12.4 7.95814 12.7581 7.59997 13.2 7.59997C13.6418 7.59997 14 7.95814 14 8.39997ZM18 9.99997C18 14.4182 14.4182 18 9.99997 18C5.58169 18 1.99997 14.4182 1.99997 9.99997C1.99997 5.58169 5.58169 1.99997 9.99997 1.99997C14.4182 1.99997 18 5.58169 18 9.99997ZM7.59997 8.39997C7.59997 8.8418 7.2418 9.19997 6.79997 9.19997C6.35814 9.19997 5.99997 8.8418 5.99997 8.39997C5.99997 7.95814 6.35814 7.59997 6.79997 7.59997C7.2418 7.59997 7.59997 7.95814 7.59997 8.39997Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
17
|
+
const AttachIcon = (_jsx("svg", { width: "22", height: "22", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M15.6 10.0001V11.2001C15.6 14.5137 12.9137 17.2001 9.59998 17.2001C6.28626 17.2001 3.59998 14.5137 3.59998 11.2001V6.79999C3.59998 4.59085 5.39084 2.79999 7.59998 2.79999C9.8091 2.79999 11.6 4.59085 11.6 6.79999V11.2C11.6 12.3045 10.7045 13.2 9.59998 13.2C8.49542 13.2 7.59998 12.3045 7.59998 11.2V7.99999", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
18
|
+
export default function MediaActions({ listUploadFiles, onFilesChange, buttonClassName, showMediaUpload = true, }) {
|
|
19
|
+
const [editor] = useLexicalComposerContext();
|
|
20
|
+
const { t } = useTranslation();
|
|
21
|
+
const [showEmojiPicker, setShowEmojiPicker] = useState(false);
|
|
22
|
+
const containerRef = useRef(null);
|
|
23
|
+
const { isOpenCanned, setIsOpenCanned } = useMessageFooterContext();
|
|
24
|
+
const isCrm = useAuthStore((state) => state.isCrm);
|
|
25
|
+
const handleEmojiSelect = useCallback((emoji) => {
|
|
26
|
+
editor.update(() => {
|
|
27
|
+
const selection = $getSelection();
|
|
28
|
+
if ($isRangeSelection(selection)) {
|
|
29
|
+
selection.insertText(emoji);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
setShowEmojiPicker(false);
|
|
33
|
+
}, [editor]);
|
|
34
|
+
const beforeUploadImagesAndVideo = (file, fileList) => {
|
|
35
|
+
const validation = validateFile(file, t);
|
|
36
|
+
if (!validation.isValid) {
|
|
37
|
+
antdMessage.error(validation.error);
|
|
38
|
+
return Upload.LIST_IGNORE;
|
|
39
|
+
}
|
|
40
|
+
const videoValidation = validateVideoLimit([file], listUploadFiles, t);
|
|
41
|
+
if (!videoValidation.isValid) {
|
|
42
|
+
antdMessage.error(videoValidation.error);
|
|
43
|
+
return Upload.LIST_IGNORE;
|
|
44
|
+
}
|
|
45
|
+
const newVideos = fileList.filter((f) => { var _a; return (_a = f.type) === null || _a === void 0 ? void 0 : _a.startsWith("video/"); });
|
|
46
|
+
if (newVideos.length > 1) {
|
|
47
|
+
antdMessage.error(t("video_limit_exceeded"));
|
|
48
|
+
return Upload.LIST_IGNORE;
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
};
|
|
52
|
+
const beforeUploadFile = (file) => {
|
|
53
|
+
const isAllowed = DOCUMENT_TYPES.includes(file.type);
|
|
54
|
+
if (!isAllowed) {
|
|
55
|
+
antdMessage.error(t("invalid_document_format", { fileName: file.name }));
|
|
56
|
+
return Upload.LIST_IGNORE;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
};
|
|
60
|
+
const handleChange = (info) => {
|
|
61
|
+
let newList = [...info.fileList];
|
|
62
|
+
const lastFile = info.file;
|
|
63
|
+
if (DOCUMENT_TYPES.includes(lastFile.type || "")) {
|
|
64
|
+
newList = newList.filter((f) => !DOCUMENT_TYPES.includes(f.type || ""));
|
|
65
|
+
newList.push(lastFile);
|
|
66
|
+
}
|
|
67
|
+
const normalizedList = newList.map((file) => {
|
|
68
|
+
var _a;
|
|
69
|
+
const originFile = ((_a = file.originFileObj) !== null && _a !== void 0 ? _a : file);
|
|
70
|
+
return Object.assign(Object.assign({}, createUploadFile(originFile)), { uid: file.uid });
|
|
71
|
+
});
|
|
72
|
+
onFilesChange(normalizedList);
|
|
73
|
+
};
|
|
74
|
+
const onPressCanned = useCallback(async () => {
|
|
75
|
+
if (!isOpenCanned) {
|
|
76
|
+
editor.focus();
|
|
77
|
+
await new Promise((resolve) => setTimeout(resolve, 0)); // Wait for focus to complete
|
|
78
|
+
editor.update(() => {
|
|
79
|
+
const selection = $getSelection();
|
|
80
|
+
if ($isRangeSelection(selection)) {
|
|
81
|
+
selection.insertText(" #");
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
setIsOpenCanned(false);
|
|
87
|
+
}
|
|
88
|
+
}, [isOpenCanned, editor]);
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
const handleClickOutside = (event) => {
|
|
91
|
+
if (containerRef.current &&
|
|
92
|
+
!containerRef.current.contains(event.target)) {
|
|
93
|
+
setShowEmojiPicker(false);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
97
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
98
|
+
}, []);
|
|
99
|
+
const btnClass = buttonClassName !== null && buttonClassName !== void 0 ? buttonClassName : "w-8 h-8 p-0 text-gray-500 hover:text-gray-700 hover:bg-gray-100";
|
|
100
|
+
return (_jsxs("div", { className: "flex items-center gap-1 relative", ref: containerRef, children: [isCrm && (_jsx(Button, { type: "text", shape: "default", className: clsx(btnClass, isOpenCanned && "bg-blue-100 text-blue-600"), onClick: onPressCanned, children: _jsx(CannedResponseIcon, { className: clsx("hover:text-gray-700", isOpenCanned && "text-blue-600") }) })), _jsx(Button, { type: "text", shape: "default", className: clsx(btnClass, showEmojiPicker && "bg-blue-100 text-blue-600"), onClick: () => setShowEmojiPicker(!showEmojiPicker), children: EmojiIcon }), showMediaUpload && (_jsxs(_Fragment, { children: [_jsx(Upload, { accept: "image/jpeg, image/png, image/jpg, video/*", beforeUpload: beforeUploadImagesAndVideo, multiple: true, onChange: handleChange, showUploadList: false, fileList: listUploadFiles, children: _jsx(Button, { type: "text", shape: "default", className: btnClass, children: _jsx(Icon, { icon: "image-02-o", size: 22 }) }) }), _jsx(Upload, { accept: ".doc,.docx,.pdf", beforeUpload: beforeUploadFile, onChange: handleChange, showUploadList: false, fileList: listUploadFiles, children: _jsx(Button, { type: "text", shape: "default", className: btnClass, children: AttachIcon }) })] })), showEmojiPicker && (_jsx(EmojiPicker, { onEmojiSelect: handleEmojiSelect, onClose: () => setShowEmojiPicker(false) }))] }));
|
|
101
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasteAndDropPlugin.d.ts","sourceRoot":"","sources":["../../../../../src/components/message/footer/PasteAndDropPlugin.tsx"],"names":[],"mappings":"AASA,UAAU,uBAAuB;IAC/B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;CACxC;AAED,QAAA,MAAM,kBAAkB,GAAI,kBAAkB,uBAAuB,SAqIpE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|