@tencentcloud/chat-uikit-react 2.2.7 → 2.2.9
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/CHANGELOG.md +6 -0
- package/dist/cjs/components/Avatar/Avatar.d.ts +1 -1
- package/dist/cjs/components/{TUIChat/TUIChat.d.ts → Chat/Chat.d.ts} +8 -8
- package/dist/cjs/components/Chat/Chat.js +1 -0
- package/dist/cjs/components/Chat/index.js +1 -0
- package/dist/cjs/components/{TUIChatHeader/TUIChatHeader.d.ts → ChatHeader/ChatHeader.d.ts} +3 -3
- package/dist/cjs/components/ChatHeader/ChatHeader.js +1 -0
- package/dist/cjs/components/{TUIChatHeader/TUIChatHeaderDefault.d.ts → ChatHeader/ChatHeaderDefault.d.ts} +2 -2
- package/dist/cjs/components/ChatHeader/ChatHeaderDefault.js +1 -0
- package/dist/cjs/components/ChatSetting/ChatSetting.d.ts +6 -0
- package/dist/cjs/components/ChatSetting/ChatSetting.js +1 -0
- package/dist/cjs/components/Contact/Contact.d.ts +6 -0
- package/dist/cjs/components/Contact/Contact.js +1 -0
- package/dist/cjs/components/Contact/ContactInfo/ContactInfo.d.ts +10 -0
- package/dist/cjs/components/Contact/ContactInfo/ContactInfo.js +1 -0
- package/dist/cjs/components/Contact/ContactInfo/basicInfo.js +1 -0
- package/dist/cjs/components/Contact/ContactInfo/blockInfo.js +1 -0
- package/dist/cjs/components/Contact/ContactInfo/friendApplication.js +1 -0
- package/dist/cjs/components/Contact/ContactInfo/friendInfo.js +1 -0
- package/dist/cjs/components/Contact/ContactInfo/groupInfo.js +1 -0
- package/dist/cjs/components/Contact/ContactInfo/hooks/useContactInfo.js +1 -0
- package/dist/cjs/components/Contact/ContactList/ContactList.d.ts +6 -0
- package/dist/cjs/components/Contact/ContactList/ContactList.js +1 -0
- package/dist/cjs/components/Contact/hooks/useTUIContact.js +1 -0
- package/dist/cjs/components/ContactSearch/ContactSearch.js +1 -0
- package/dist/cjs/components/ContactSearch/hooks/useContactSearch.js +1 -0
- package/dist/cjs/components/ConversationActions/ConversationActions.d.ts +52 -0
- package/dist/cjs/components/ConversationActions/ConversationActions.js +1 -0
- package/dist/cjs/components/ConversationCreate/ConversationCreate.d.ts +21 -0
- package/dist/cjs/components/ConversationCreate/ConversationCreate.js +1 -1
- package/dist/cjs/components/ConversationCreate/ConversationCreateButton.d.ts +13 -0
- package/dist/cjs/components/ConversationCreate/ConversationCreateButton.js +1 -0
- package/dist/cjs/components/ConversationCreate/ConversationCreateGroupDetail.d.ts +16 -0
- package/dist/cjs/components/ConversationCreate/ConversationCreateGroupDetail.js +1 -0
- package/dist/cjs/components/ConversationCreate/ConversationCreateSelectView.d.ts +15 -0
- package/dist/cjs/components/ConversationCreate/ConversationCreateUserSelectList.d.ts +18 -0
- package/dist/cjs/components/ConversationCreate/ConversationCreateUserSelectList.js +1 -1
- package/dist/cjs/components/ConversationCreate/ConversationGroupTypeInfo.d.ts +24 -0
- package/dist/cjs/components/ConversationCreate/ConversationGroupTypeInfo.js +1 -1
- package/dist/cjs/components/ConversationCreate/hooks/useConversationCreate.d.ts +14 -0
- package/dist/cjs/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
- package/dist/cjs/components/ConversationList/ConversationList.d.ts +57 -0
- package/dist/cjs/components/ConversationList/ConversationList.js +1 -0
- package/dist/cjs/components/ConversationList/ConversationListContent/ConversationListContent.d.ts +23 -0
- package/dist/cjs/components/ConversationList/ConversationListContent/ConversationListContent.js +1 -0
- package/dist/cjs/components/ConversationList/ConversationListHeader/ConversationListHeader.d.ts +15 -0
- package/dist/cjs/components/ConversationList/ConversationListHeader/ConversationListHeader.js +1 -0
- package/dist/cjs/components/ConversationPreview/ConversationPreview.d.ts +39 -27
- package/dist/cjs/components/ConversationPreview/ConversationPreview.js +1 -1
- package/dist/cjs/components/ConversationPreview/utils.js +1 -1
- package/dist/cjs/components/ConversationSearch/ConversationSearch.d.ts +39 -0
- package/dist/cjs/components/ConversationSearch/ConversationSearch.js +1 -0
- package/dist/cjs/components/ConversationSearch/ConversationSearchInput/ConversationSearchInput.d.ts +7 -0
- package/dist/cjs/components/ConversationSearch/ConversationSearchInput/ConversationSearchInput.js +1 -0
- package/dist/cjs/components/ConversationSearch/ConversationSearchResult/ConversationSearchResult.d.ts +29 -0
- package/dist/cjs/components/ConversationSearch/ConversationSearchResult/ConversationSearchResult.js +1 -0
- package/dist/cjs/components/Icon/Icon.js +1 -1
- package/dist/cjs/components/Icon/config.js +1 -1
- package/dist/cjs/components/Icon/images/mute.svg.js +1 -0
- package/dist/cjs/components/Icon/type.d.ts +2 -0
- package/dist/cjs/components/Icon/type.js +1 -1
- package/dist/cjs/components/Input/Input.d.ts +5 -2
- package/dist/cjs/components/Input/Input.js +1 -1
- package/dist/{esm/components/TUIMessage/TUIMessage.d.ts → cjs/components/MessageElement/Message.d.ts} +1 -1
- package/dist/cjs/components/MessageElement/Message.js +1 -0
- package/dist/cjs/components/MessageElement/MessageAudio.js +1 -0
- package/dist/cjs/components/MessageElement/MessageAvatar.js +1 -0
- package/dist/cjs/components/MessageElement/MessageBubble.js +1 -0
- package/dist/cjs/components/MessageElement/MessageContext.js +1 -0
- package/dist/cjs/components/MessageElement/MessageCustom.js +1 -0
- package/dist/cjs/components/MessageElement/MessageDefault.js +1 -0
- package/dist/cjs/components/MessageElement/MessageName.js +1 -0
- package/dist/cjs/components/MessageElement/MessagePlugins.js +1 -0
- package/dist/cjs/components/MessageElement/MessageProgress.js +1 -0
- package/dist/cjs/components/MessageElement/MessageRevoke.js +1 -0
- package/dist/cjs/components/MessageElement/MessageStatus.js +1 -0
- package/dist/cjs/components/MessageElement/MessageSystem.js +1 -0
- package/dist/cjs/components/MessageElement/MessageText.js +1 -0
- package/dist/cjs/components/MessageElement/MessageTip.js +1 -0
- package/dist/cjs/components/MessageElement/hooks/useMessageHandler.js +1 -0
- package/dist/cjs/components/MessageElement/hooks/useMessageReply.js +1 -0
- package/dist/cjs/components/MessageInput/EmojiPicker.js +1 -0
- package/dist/cjs/components/MessageInput/Forward.js +1 -0
- package/dist/cjs/components/MessageInput/InputPluginsDefalut.js +1 -0
- package/dist/cjs/components/MessageInput/InputQuoteDefalut.js +1 -0
- package/dist/cjs/components/{TUIMessageInput/TUIMessageInput.d.ts → MessageInput/MessageInput.d.ts} +4 -4
- package/dist/cjs/components/MessageInput/MessageInput.js +1 -0
- package/dist/cjs/components/MessageInput/MessageInputDefault.js +1 -0
- package/dist/cjs/components/MessageInput/Transmitter.js +1 -0
- package/dist/cjs/components/MessageInput/hooks/useEmojiPicker.js +1 -0
- package/dist/cjs/components/MessageInput/hooks/useHandleForwardMessage.js +1 -0
- package/dist/cjs/components/MessageInput/hooks/useHandleQuoteMessage.js +1 -0
- package/dist/cjs/components/MessageInput/hooks/useMessageInputText.js +1 -0
- package/dist/cjs/components/MessageInput/hooks/useUploadPicker.js +1 -0
- package/dist/cjs/components/{TUIMessageList/TUIMessageList.d.ts → MessageList/MessageList.d.ts} +3 -3
- package/dist/cjs/components/MessageList/MessageList.js +1 -0
- package/dist/cjs/components/MessageList/hooks/useMessageListElement.js +1 -0
- package/dist/cjs/components/PlaceHolder/index.d.ts +34 -0
- package/dist/cjs/components/PlaceHolder/index.js +1 -0
- package/dist/cjs/components/Plugins/index.d.ts +5 -2
- package/dist/cjs/components/Profile/Profile.d.ts +10 -0
- package/dist/cjs/components/Profile/Profile.js +1 -1
- package/dist/cjs/components/Profile/ProfileDefault.js +1 -0
- package/dist/cjs/components/Profile/myProfile/MyProfile.js +1 -0
- package/dist/cjs/context/{TUIChatActionContext.d.ts → ChatActionContext.d.ts} +1 -1
- package/dist/cjs/context/{TUIChatStateContext.d.ts → ChatStateContext.d.ts} +6 -6
- package/dist/cjs/context/ComponentContext.d.ts +3 -3
- package/dist/cjs/context/{TUIContactContext.d.ts → ContactContext.d.ts} +4 -4
- package/dist/cjs/context/ConversationListContext.d.ts +22 -0
- package/dist/cjs/context/ConversationListContext.js +1 -0
- package/dist/{esm/context/TUIMessageContext.d.ts → cjs/context/MessageContext.d.ts} +1 -1
- package/dist/{esm/context/TUIMessageInputContext.d.ts → cjs/context/MessageInputContext.d.ts} +4 -4
- package/dist/cjs/hooks/useConversation.d.ts +4 -23
- package/dist/cjs/hooks/useConversation.js +1 -1
- package/dist/cjs/hooks/useLongPress.d.ts +3 -0
- package/dist/cjs/hooks/useLongPress.js +1 -0
- package/dist/cjs/hooks/useMouseHover.js +1 -0
- package/dist/cjs/index.css +2 -1
- package/dist/cjs/index.d.css +885 -407
- package/dist/cjs/index.d.ts +41 -29
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/locales/en-US/TUIConversation.js +1 -1
- package/dist/cjs/locales/index.js +1 -1
- package/dist/cjs/locales/ja-JP/TUIConversation.js +1 -1
- package/dist/cjs/locales/ko-KR/TUIConversation.js +1 -1
- package/dist/cjs/locales/zh-CN/TUIConversation.js +1 -1
- package/dist/cjs/locales/zh-TW/TUIConversation.js +1 -1
- package/dist/esm/components/Avatar/Avatar.d.ts +1 -1
- package/dist/esm/components/{TUIChat/TUIChat.d.ts → Chat/Chat.d.ts} +8 -8
- package/dist/esm/components/Chat/Chat.js +1 -0
- package/dist/esm/components/Chat/index.js +1 -0
- package/dist/esm/components/{TUIChatHeader/TUIChatHeader.d.ts → ChatHeader/ChatHeader.d.ts} +3 -3
- package/dist/esm/components/ChatHeader/ChatHeader.js +1 -0
- package/dist/esm/components/{TUIChatHeader/TUIChatHeaderDefault.d.ts → ChatHeader/ChatHeaderDefault.d.ts} +2 -2
- package/dist/esm/components/ChatHeader/ChatHeaderDefault.js +1 -0
- package/dist/esm/components/ChatSetting/ChatSetting.d.ts +6 -0
- package/dist/esm/components/ChatSetting/ChatSetting.js +1 -0
- package/dist/esm/components/Contact/Contact.d.ts +6 -0
- package/dist/esm/components/Contact/Contact.js +1 -0
- package/dist/esm/components/Contact/ContactInfo/ContactInfo.d.ts +10 -0
- package/dist/esm/components/Contact/ContactInfo/ContactInfo.js +1 -0
- package/dist/esm/components/Contact/ContactInfo/basicInfo.js +1 -0
- package/dist/esm/components/Contact/ContactInfo/blockInfo.js +1 -0
- package/dist/esm/components/Contact/ContactInfo/friendApplication.js +1 -0
- package/dist/esm/components/Contact/ContactInfo/friendInfo.js +1 -0
- package/dist/esm/components/Contact/ContactInfo/groupInfo.js +1 -0
- package/dist/esm/components/Contact/ContactInfo/hooks/useContactInfo.js +1 -0
- package/dist/esm/components/Contact/ContactList/ContactList.d.ts +6 -0
- package/dist/esm/components/Contact/ContactList/ContactList.js +1 -0
- package/dist/esm/components/Contact/hooks/useTUIContact.js +1 -0
- package/dist/esm/components/ContactSearch/ContactSearch.js +1 -0
- package/dist/esm/components/ContactSearch/hooks/useContactSearch.js +1 -0
- package/dist/esm/components/ConversationActions/ConversationActions.d.ts +52 -0
- package/dist/esm/components/ConversationActions/ConversationActions.js +1 -0
- package/dist/esm/components/ConversationCreate/ConversationCreate.d.ts +21 -0
- package/dist/esm/components/ConversationCreate/ConversationCreate.js +1 -1
- package/dist/esm/components/ConversationCreate/ConversationCreateButton.d.ts +13 -0
- package/dist/esm/components/ConversationCreate/ConversationCreateButton.js +1 -0
- package/dist/esm/components/ConversationCreate/ConversationCreateGroupDetail.d.ts +16 -0
- package/dist/esm/components/ConversationCreate/ConversationCreateGroupDetail.js +1 -0
- package/dist/esm/components/ConversationCreate/ConversationCreateSelectView.d.ts +15 -0
- package/dist/esm/components/ConversationCreate/ConversationCreateUserSelectList.d.ts +18 -0
- package/dist/esm/components/ConversationCreate/ConversationCreateUserSelectList.js +1 -1
- package/dist/esm/components/ConversationCreate/ConversationGroupTypeInfo.d.ts +24 -0
- package/dist/esm/components/ConversationCreate/ConversationGroupTypeInfo.js +1 -1
- package/dist/esm/components/ConversationCreate/hooks/useConversationCreate.d.ts +14 -0
- package/dist/esm/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
- package/dist/esm/components/ConversationList/ConversationList.d.ts +57 -0
- package/dist/esm/components/ConversationList/ConversationList.js +1 -0
- package/dist/esm/components/ConversationList/ConversationListContent/ConversationListContent.d.ts +23 -0
- package/dist/esm/components/ConversationList/ConversationListContent/ConversationListContent.js +1 -0
- package/dist/esm/components/ConversationList/ConversationListHeader/ConversationListHeader.d.ts +15 -0
- package/dist/esm/components/ConversationList/ConversationListHeader/ConversationListHeader.js +1 -0
- package/dist/esm/components/ConversationPreview/ConversationPreview.d.ts +39 -27
- package/dist/esm/components/ConversationPreview/ConversationPreview.js +1 -1
- package/dist/esm/components/ConversationPreview/utils.js +1 -1
- package/dist/esm/components/ConversationSearch/ConversationSearch.d.ts +39 -0
- package/dist/esm/components/ConversationSearch/ConversationSearch.js +1 -0
- package/dist/esm/components/ConversationSearch/ConversationSearchInput/ConversationSearchInput.d.ts +7 -0
- package/dist/esm/components/ConversationSearch/ConversationSearchInput/ConversationSearchInput.js +1 -0
- package/dist/esm/components/ConversationSearch/ConversationSearchResult/ConversationSearchResult.d.ts +29 -0
- package/dist/esm/components/ConversationSearch/ConversationSearchResult/ConversationSearchResult.js +1 -0
- package/dist/esm/components/Icon/Icon.js +1 -1
- package/dist/esm/components/Icon/config.js +1 -1
- package/dist/esm/components/Icon/images/mute.svg.js +1 -0
- package/dist/esm/components/Icon/type.d.ts +2 -0
- package/dist/esm/components/Icon/type.js +1 -1
- package/dist/esm/components/Input/Input.d.ts +5 -2
- package/dist/esm/components/Input/Input.js +1 -1
- package/dist/{cjs/components/TUIMessage/TUIMessage.d.ts → esm/components/MessageElement/Message.d.ts} +1 -1
- package/dist/esm/components/MessageElement/Message.js +1 -0
- package/dist/esm/components/MessageElement/MessageAudio.js +1 -0
- package/dist/esm/components/MessageElement/MessageAvatar.js +1 -0
- package/dist/esm/components/MessageElement/MessageBubble.js +1 -0
- package/dist/esm/components/MessageElement/MessageContext.js +1 -0
- package/dist/esm/components/MessageElement/MessageCustom.js +1 -0
- package/dist/esm/components/MessageElement/MessageDefault.js +1 -0
- package/dist/esm/components/MessageElement/MessageName.js +1 -0
- package/dist/esm/components/MessageElement/MessagePlugins.js +1 -0
- package/dist/esm/components/MessageElement/MessageProgress.js +1 -0
- package/dist/esm/components/MessageElement/MessageRevoke.js +1 -0
- package/dist/esm/components/MessageElement/MessageStatus.js +1 -0
- package/dist/esm/components/MessageElement/MessageSystem.js +1 -0
- package/dist/esm/components/MessageElement/MessageText.js +1 -0
- package/dist/esm/components/MessageElement/MessageTip.js +1 -0
- package/dist/esm/components/MessageElement/hooks/useMessageHandler.js +1 -0
- package/dist/esm/components/MessageElement/hooks/useMessageReply.js +1 -0
- package/dist/esm/components/MessageInput/EmojiPicker.js +1 -0
- package/dist/esm/components/MessageInput/Forward.js +1 -0
- package/dist/esm/components/MessageInput/InputPluginsDefalut.js +1 -0
- package/dist/esm/components/MessageInput/InputQuoteDefalut.js +1 -0
- package/dist/esm/components/{TUIMessageInput/TUIMessageInput.d.ts → MessageInput/MessageInput.d.ts} +4 -4
- package/dist/esm/components/MessageInput/MessageInput.js +1 -0
- package/dist/esm/components/MessageInput/MessageInputDefault.js +1 -0
- package/dist/esm/components/MessageInput/Transmitter.js +1 -0
- package/dist/esm/components/MessageInput/hooks/useEmojiPicker.js +1 -0
- package/dist/esm/components/MessageInput/hooks/useHandleForwardMessage.js +1 -0
- package/dist/esm/components/MessageInput/hooks/useHandleQuoteMessage.js +1 -0
- package/dist/esm/components/MessageInput/hooks/useMessageInputText.js +1 -0
- package/dist/esm/components/MessageInput/hooks/useUploadPicker.js +1 -0
- package/dist/esm/components/{TUIMessageList/TUIMessageList.d.ts → MessageList/MessageList.d.ts} +3 -3
- package/dist/esm/components/MessageList/MessageList.js +1 -0
- package/dist/esm/components/MessageList/hooks/useMessageListElement.js +1 -0
- package/dist/esm/components/PlaceHolder/index.d.ts +34 -0
- package/dist/esm/components/PlaceHolder/index.js +1 -0
- package/dist/esm/components/Plugins/index.d.ts +5 -2
- package/dist/esm/components/Profile/Profile.d.ts +10 -0
- package/dist/esm/components/Profile/Profile.js +1 -1
- package/dist/esm/components/Profile/ProfileDefault.js +1 -0
- package/dist/esm/components/Profile/myProfile/MyProfile.js +1 -0
- package/dist/esm/context/{TUIChatActionContext.d.ts → ChatActionContext.d.ts} +1 -1
- package/dist/esm/context/{TUIChatStateContext.d.ts → ChatStateContext.d.ts} +6 -6
- package/dist/esm/context/ComponentContext.d.ts +3 -3
- package/dist/esm/context/{TUIContactContext.d.ts → ContactContext.d.ts} +4 -4
- package/dist/esm/context/ConversationListContext.d.ts +22 -0
- package/dist/esm/context/ConversationListContext.js +1 -0
- package/dist/{cjs/context/TUIMessageContext.d.ts → esm/context/MessageContext.d.ts} +1 -1
- package/dist/{cjs/context/TUIMessageInputContext.d.ts → esm/context/MessageInputContext.d.ts} +4 -4
- package/dist/esm/hooks/useConversation.d.ts +4 -23
- package/dist/esm/hooks/useConversation.js +1 -1
- package/dist/esm/hooks/useLongPress.d.ts +3 -0
- package/dist/esm/hooks/useLongPress.js +1 -0
- package/dist/esm/hooks/useMouseHover.js +1 -0
- package/dist/esm/index.css +2 -1
- package/dist/esm/index.d.css +885 -407
- package/dist/esm/index.d.ts +41 -29
- package/dist/esm/index.js +1 -1
- package/dist/esm/locales/en-US/TUIConversation.js +1 -1
- package/dist/esm/locales/index.js +1 -1
- package/dist/esm/locales/ja-JP/TUIConversation.js +1 -1
- package/dist/esm/locales/ko-KR/TUIConversation.js +1 -1
- package/dist/esm/locales/zh-CN/TUIConversation.js +1 -1
- package/dist/esm/locales/zh-TW/TUIConversation.js +1 -1
- package/package.json +2 -1
- package/rollup.config.js +1 -1
- package/src/components/Avatar/Avatar.tsx +33 -31
- package/src/components/{TUIChat/TUIChat.tsx → Chat/Chat.tsx} +15 -15
- package/src/components/{TUIChat → Chat}/hooks/useHandleMessage.tsx +1 -1
- package/src/components/{TUIChat → Chat}/hooks/useHandleMessageList.tsx +1 -1
- package/src/components/{TUIChat → Chat}/index.ts +1 -1
- package/src/components/{TUIChatHeader/TUIChatHeader.tsx → ChatHeader/ChatHeader.tsx} +5 -5
- package/src/components/{TUIChatHeader/TUIChatHeaderDefault.tsx → ChatHeader/ChatHeaderDefault.tsx} +2 -2
- package/src/components/ChatHeader/index.ts +2 -0
- package/src/components/{TUIChatHeader → ChatHeader}/styles/layout.scss +0 -8
- package/src/components/{TUIManage/TUIManage.tsx → ChatSetting/ChatSetting.tsx} +17 -20
- package/src/components/ChatSetting/index.ts +1 -0
- package/src/components/{TUIManage → ChatSetting}/styles/index.scss +4 -2
- package/src/components/Checkbox/index.tsx +9 -9
- package/src/components/{TUIContact/TUIContact.tsx → Contact/Contact.tsx} +35 -35
- package/src/components/{TUIContact/TUIContactInfo/TUIContactInfo.tsx → Contact/ContactInfo/ContactInfo.tsx} +4 -4
- package/src/components/{TUIContact/TUIContactList/TUIContactList.tsx → Contact/ContactList/ContactList.tsx} +3 -3
- package/src/components/Contact/index.ts +3 -0
- package/src/components/{TUIContactSearch/TUIContactSearch.tsx → ContactSearch/ContactSearch.tsx} +8 -7
- package/src/components/ConversationActions/ConversationActions.scss +45 -0
- package/src/components/ConversationActions/ConversationActions.tsx +172 -0
- package/src/components/ConversationActions/index.ts +1 -0
- package/src/components/ConversationCreate/ConversationCreate.tsx +104 -49
- package/src/components/ConversationCreate/ConversationCreateButton.tsx +46 -0
- package/src/components/ConversationCreate/ConversationCreateGroupDetail.tsx +179 -0
- package/src/components/ConversationCreate/ConversationCreateSelectView.tsx +7 -7
- package/src/components/ConversationCreate/ConversationCreateUserSelectList.tsx +31 -29
- package/src/components/ConversationCreate/ConversationGroupTypeInfo.tsx +19 -19
- package/src/components/ConversationCreate/hooks/useConversationCreate.tsx +36 -29
- package/src/components/ConversationCreate/index.ts +2 -1
- package/src/components/ConversationCreate/styles/{ConversationCreatGroupDetail.scss → ConversationCreateGroupDetail.scss} +6 -1
- package/src/components/ConversationCreate/styles/conversationCreateButton.scss +5 -0
- package/src/components/ConversationCreate/styles/index.scss +34 -2
- package/src/components/ConversationList/ConversationList.scss +29 -0
- package/src/components/ConversationList/ConversationList.tsx +155 -0
- package/src/components/ConversationList/ConversationListContent/ConversationListContent.scss +16 -0
- package/src/components/ConversationList/ConversationListContent/ConversationListContent.tsx +63 -0
- package/src/components/ConversationList/ConversationListContent/index.ts +1 -0
- package/src/components/ConversationList/ConversationListHeader/ConversationListHeader.scss +28 -0
- package/src/components/ConversationList/ConversationListHeader/ConversationListHeader.tsx +43 -0
- package/src/components/ConversationList/ConversationListHeader/index.ts +1 -0
- package/src/components/ConversationList/index.ts +3 -0
- package/src/components/ConversationPreview/ConversationPreview.scss +137 -0
- package/src/components/ConversationPreview/ConversationPreview.tsx +245 -63
- package/src/components/ConversationPreview/index.ts +0 -1
- package/src/components/ConversationPreview/utils.tsx +78 -60
- package/src/components/ConversationSearch/ConversationSearch.scss +22 -0
- package/src/components/ConversationSearch/ConversationSearch.tsx +125 -0
- package/src/components/ConversationSearch/ConversationSearchInput/ConversationSearchInput.scss +13 -0
- package/src/components/ConversationSearch/ConversationSearchInput/ConversationSearchInput.tsx +42 -0
- package/src/components/ConversationSearch/ConversationSearchInput/index.ts +1 -0
- package/src/components/ConversationSearch/ConversationSearchResult/ConversationSearchResult.scss +15 -0
- package/src/components/ConversationSearch/ConversationSearchResult/ConversationSearchResult.tsx +72 -0
- package/src/components/ConversationSearch/ConversationSearchResult/index.ts +1 -0
- package/src/components/ConversationSearch/index.ts +3 -2
- package/src/components/EmptyStateIndicator/EmptyStateIndicator.tsx +2 -3
- package/src/components/Icon/Icon.tsx +8 -8
- package/src/components/Icon/config.ts +9 -0
- package/src/components/Icon/images/mute.svg +8 -0
- package/src/components/Icon/styles/index.scss +41 -6
- package/src/components/Icon/type.ts +2 -0
- package/src/components/Input/Input.tsx +24 -23
- package/src/components/{TUIMessage/TUIMessage.tsx → MessageElement/Message.tsx} +33 -33
- package/src/components/{TUIMessage → MessageElement}/MessageCustom.tsx +1 -1
- package/src/components/{TUIMessage/TUIMessageDefault.tsx → MessageElement/MessageDefault.tsx} +24 -24
- package/src/components/{TUIMessage → MessageElement}/MessagePlugins.tsx +18 -18
- package/src/components/{TUIMessage → MessageElement}/index.ts +1 -1
- package/src/components/{TUIMessage → MessageElement}/styles/layout.scss +1 -1
- package/src/components/{TUIMessageInput → MessageInput}/EmojiPicker.tsx +2 -2
- package/src/components/{TUIMessageInput/TUIForward.tsx → MessageInput/Forward.tsx} +41 -36
- package/src/components/{TUIMessageInput → MessageInput}/InputPluginsDefalut.tsx +2 -2
- package/src/components/{TUIMessageInput → MessageInput}/InputQuoteDefalut.tsx +1 -1
- package/src/components/{TUIMessageInput/TUIMessageInput.tsx → MessageInput/MessageInput.tsx} +25 -27
- package/src/components/{TUIMessageInput/TUIMessageInputDefault.tsx → MessageInput/MessageInputDefault.tsx} +14 -14
- package/src/components/{TUIMessageInput → MessageInput}/Transmitter.tsx +2 -2
- package/src/components/{TUIMessageInput → MessageInput}/hooks/useEmojiPicker.tsx +1 -1
- package/src/components/{TUIMessageInput → MessageInput}/hooks/useMessageInputState.tsx +1 -1
- package/src/components/{TUIMessageInput → MessageInput}/hooks/useMessageInputText.tsx +2 -2
- package/src/components/MessageInput/index.ts +3 -0
- package/src/components/{TUIMessageInput → MessageInput}/styles/color.scss +1 -1
- package/src/components/{TUIMessageList/TUIMessageList.tsx → MessageList/MessageList.tsx} +5 -5
- package/src/components/{TUIMessageList → MessageList}/hooks/useMessageListElement.tsx +1 -1
- package/src/components/MessageList/index.ts +1 -0
- package/src/components/PlaceHolder/index.tsx +79 -0
- package/src/components/PlaceHolder/styles/index.scss +36 -0
- package/src/components/Plugins/index.tsx +49 -45
- package/src/components/Profile/Profile.tsx +46 -21
- package/src/components/Profile/index.ts +2 -1
- package/src/components/Profile/myProfile/MyProfile.tsx +25 -0
- package/src/components/Profile/myProfile/index.ts +1 -0
- package/src/components/Profile/myProfile/styles/index.scss +32 -0
- package/src/components/Profile/styles/index.scss +2 -32
- package/src/components/{TUIProfile → Profile}/styles/layout.scss +1 -0
- package/src/components/index.ts +13 -11
- package/src/context/{TUIChatActionContext.tsx → ChatActionContext.tsx} +1 -1
- package/src/context/ChatStateContext.tsx +49 -0
- package/src/context/ComponentContext.tsx +13 -13
- package/src/context/{TUIContactContext.tsx → ContactContext.tsx} +10 -11
- package/src/context/ConversationListContext.tsx +113 -0
- package/src/context/LanguageContext.tsx +1 -0
- package/src/context/MessageContext.tsx +55 -0
- package/src/context/MessageInputContext.tsx +54 -0
- package/src/context/index.ts +6 -5
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useConversation.tsx +26 -74
- package/src/hooks/useLongPress.tsx +117 -0
- package/src/hooks/useMouseHover.tsx +21 -0
- package/src/locales/en-US/TUIConversation.ts +4 -0
- package/src/locales/index.ts +10 -0
- package/src/locales/ja-JP/TUIConversation.ts +4 -0
- package/src/locales/ko-KR/TUIConversation.ts +4 -0
- package/src/locales/zh-CN/TUIConversation.ts +4 -0
- package/src/locales/zh-TW/TUIConversation.ts +4 -0
- package/dist/cjs/components/ConversationCreate/ConversationCreatGroupDetail.js +0 -1
- package/dist/cjs/components/ConversationPreview/ConversationListContainer.d.ts +0 -10
- package/dist/cjs/components/ConversationPreview/ConversationListContainer.js +0 -1
- package/dist/cjs/components/ConversationPreview/ConversationPreviewContent.d.ts +0 -10
- package/dist/cjs/components/ConversationPreview/ConversationPreviewContent.js +0 -1
- package/dist/cjs/components/ConversationSearch/ConversationSearchInput.d.ts +0 -6
- package/dist/cjs/components/ConversationSearch/ConversationSearchInput.js +0 -1
- package/dist/cjs/components/ConversationSearch/ConversationSearchResult.d.ts +0 -12
- package/dist/cjs/components/ConversationSearch/ConversationSearchResult.js +0 -1
- package/dist/cjs/components/TUIChat/TUIChat.js +0 -1
- package/dist/cjs/components/TUIChat/index.js +0 -1
- package/dist/cjs/components/TUIChatHeader/TUIChatHeader.js +0 -1
- package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.js +0 -1
- package/dist/cjs/components/TUIContact/TUIContact.d.ts +0 -6
- package/dist/cjs/components/TUIContact/TUIContact.js +0 -1
- package/dist/cjs/components/TUIContact/TUIContactInfo/TUIContactInfo.d.ts +0 -10
- package/dist/cjs/components/TUIContact/TUIContactInfo/TUIContactInfo.js +0 -1
- package/dist/cjs/components/TUIContact/TUIContactInfo/basicInfo.js +0 -1
- package/dist/cjs/components/TUIContact/TUIContactInfo/blockInfo.js +0 -1
- package/dist/cjs/components/TUIContact/TUIContactInfo/friendApplication.js +0 -1
- package/dist/cjs/components/TUIContact/TUIContactInfo/friendInfo.js +0 -1
- package/dist/cjs/components/TUIContact/TUIContactInfo/groupInfo.js +0 -1
- package/dist/cjs/components/TUIContact/TUIContactInfo/hooks/useContactInfo.js +0 -1
- package/dist/cjs/components/TUIContact/TUIContactList/TUIContactList.d.ts +0 -6
- package/dist/cjs/components/TUIContact/TUIContactList/TUIContactList.js +0 -1
- package/dist/cjs/components/TUIContact/hooks/useTUIContact.js +0 -1
- package/dist/cjs/components/TUIContactSearch/TUIContactSearch.js +0 -1
- package/dist/cjs/components/TUIContactSearch/hooks/useContactSearch.js +0 -1
- package/dist/cjs/components/TUIConversation/TUIConversation.d.ts +0 -12
- package/dist/cjs/components/TUIConversation/TUIConversation.js +0 -1
- package/dist/cjs/components/TUIConversationList/TUIConversationList.d.ts +0 -19
- package/dist/cjs/components/TUIConversationList/TUIConversationList.js +0 -1
- package/dist/cjs/components/TUIConversationList/hooks/useConversationList.js +0 -1
- package/dist/cjs/components/TUIConversationList/hooks/useConversationUpdate.js +0 -1
- package/dist/cjs/components/TUIManage/TUIManage.d.ts +0 -6
- package/dist/cjs/components/TUIManage/TUIManage.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageAudio.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageAvatar.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageBubble.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageContext.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageCustom.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageName.js +0 -1
- package/dist/cjs/components/TUIMessage/MessagePlugins.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageProgress.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageRevoke.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageStatus.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageSystem.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageText.js +0 -1
- package/dist/cjs/components/TUIMessage/MessageTip.js +0 -1
- package/dist/cjs/components/TUIMessage/TUIMessage.js +0 -1
- package/dist/cjs/components/TUIMessage/TUIMessageDefault.js +0 -1
- package/dist/cjs/components/TUIMessage/hooks/useMessageHandler.js +0 -1
- package/dist/cjs/components/TUIMessage/hooks/useMessageReply.js +0 -1
- package/dist/cjs/components/TUIMessageInput/EmojiPicker.js +0 -1
- package/dist/cjs/components/TUIMessageInput/InputPluginsDefalut.js +0 -1
- package/dist/cjs/components/TUIMessageInput/InputQuoteDefalut.js +0 -1
- package/dist/cjs/components/TUIMessageInput/TUIForward.js +0 -1
- package/dist/cjs/components/TUIMessageInput/TUIMessageInput.js +0 -1
- package/dist/cjs/components/TUIMessageInput/TUIMessageInputDefault.js +0 -1
- package/dist/cjs/components/TUIMessageInput/Transmitter.js +0 -1
- package/dist/cjs/components/TUIMessageInput/hooks/useEmojiPicker.js +0 -1
- package/dist/cjs/components/TUIMessageInput/hooks/useHandleForwardMessage.js +0 -1
- package/dist/cjs/components/TUIMessageInput/hooks/useHandleQuoteMessage.js +0 -1
- package/dist/cjs/components/TUIMessageInput/hooks/useMessageInputText.js +0 -1
- package/dist/cjs/components/TUIMessageInput/hooks/useUploadPicker.js +0 -1
- package/dist/cjs/components/TUIMessageList/TUIMessageList.js +0 -1
- package/dist/cjs/components/TUIMessageList/hooks/useMessageListElement.js +0 -1
- package/dist/cjs/components/TUIProfile/TUIProfile.d.ts +0 -10
- package/dist/cjs/components/TUIProfile/TUIProfile.js +0 -1
- package/dist/cjs/components/TUIProfile/TUIProfileDefault.js +0 -1
- package/dist/cjs/context/TUIConversationContext.js +0 -1
- package/dist/esm/components/ConversationCreate/ConversationCreatGroupDetail.js +0 -1
- package/dist/esm/components/ConversationPreview/ConversationListContainer.d.ts +0 -10
- package/dist/esm/components/ConversationPreview/ConversationListContainer.js +0 -1
- package/dist/esm/components/ConversationPreview/ConversationPreviewContent.d.ts +0 -10
- package/dist/esm/components/ConversationPreview/ConversationPreviewContent.js +0 -1
- package/dist/esm/components/ConversationSearch/ConversationSearchInput.d.ts +0 -6
- package/dist/esm/components/ConversationSearch/ConversationSearchInput.js +0 -1
- package/dist/esm/components/ConversationSearch/ConversationSearchResult.d.ts +0 -12
- package/dist/esm/components/ConversationSearch/ConversationSearchResult.js +0 -1
- package/dist/esm/components/TUIChat/TUIChat.js +0 -1
- package/dist/esm/components/TUIChat/index.js +0 -1
- package/dist/esm/components/TUIChatHeader/TUIChatHeader.js +0 -1
- package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.js +0 -1
- package/dist/esm/components/TUIContact/TUIContact.d.ts +0 -6
- package/dist/esm/components/TUIContact/TUIContact.js +0 -1
- package/dist/esm/components/TUIContact/TUIContactInfo/TUIContactInfo.d.ts +0 -10
- package/dist/esm/components/TUIContact/TUIContactInfo/TUIContactInfo.js +0 -1
- package/dist/esm/components/TUIContact/TUIContactInfo/basicInfo.js +0 -1
- package/dist/esm/components/TUIContact/TUIContactInfo/blockInfo.js +0 -1
- package/dist/esm/components/TUIContact/TUIContactInfo/friendApplication.js +0 -1
- package/dist/esm/components/TUIContact/TUIContactInfo/friendInfo.js +0 -1
- package/dist/esm/components/TUIContact/TUIContactInfo/groupInfo.js +0 -1
- package/dist/esm/components/TUIContact/TUIContactInfo/hooks/useContactInfo.js +0 -1
- package/dist/esm/components/TUIContact/TUIContactList/TUIContactList.d.ts +0 -6
- package/dist/esm/components/TUIContact/TUIContactList/TUIContactList.js +0 -1
- package/dist/esm/components/TUIContact/hooks/useTUIContact.js +0 -1
- package/dist/esm/components/TUIContactSearch/TUIContactSearch.js +0 -1
- package/dist/esm/components/TUIContactSearch/hooks/useContactSearch.js +0 -1
- package/dist/esm/components/TUIConversation/TUIConversation.d.ts +0 -12
- package/dist/esm/components/TUIConversation/TUIConversation.js +0 -1
- package/dist/esm/components/TUIConversationList/TUIConversationList.d.ts +0 -19
- package/dist/esm/components/TUIConversationList/TUIConversationList.js +0 -1
- package/dist/esm/components/TUIConversationList/hooks/useConversationList.js +0 -1
- package/dist/esm/components/TUIConversationList/hooks/useConversationUpdate.js +0 -1
- package/dist/esm/components/TUIManage/TUIManage.d.ts +0 -6
- package/dist/esm/components/TUIManage/TUIManage.js +0 -1
- package/dist/esm/components/TUIMessage/MessageAudio.js +0 -1
- package/dist/esm/components/TUIMessage/MessageAvatar.js +0 -1
- package/dist/esm/components/TUIMessage/MessageBubble.js +0 -1
- package/dist/esm/components/TUIMessage/MessageContext.js +0 -1
- package/dist/esm/components/TUIMessage/MessageCustom.js +0 -1
- package/dist/esm/components/TUIMessage/MessageName.js +0 -1
- package/dist/esm/components/TUIMessage/MessagePlugins.js +0 -1
- package/dist/esm/components/TUIMessage/MessageProgress.js +0 -1
- package/dist/esm/components/TUIMessage/MessageRevoke.js +0 -1
- package/dist/esm/components/TUIMessage/MessageStatus.js +0 -1
- package/dist/esm/components/TUIMessage/MessageSystem.js +0 -1
- package/dist/esm/components/TUIMessage/MessageText.js +0 -1
- package/dist/esm/components/TUIMessage/MessageTip.js +0 -1
- package/dist/esm/components/TUIMessage/TUIMessage.js +0 -1
- package/dist/esm/components/TUIMessage/TUIMessageDefault.js +0 -1
- package/dist/esm/components/TUIMessage/hooks/useMessageHandler.js +0 -1
- package/dist/esm/components/TUIMessage/hooks/useMessageReply.js +0 -1
- package/dist/esm/components/TUIMessageInput/EmojiPicker.js +0 -1
- package/dist/esm/components/TUIMessageInput/InputPluginsDefalut.js +0 -1
- package/dist/esm/components/TUIMessageInput/InputQuoteDefalut.js +0 -1
- package/dist/esm/components/TUIMessageInput/TUIForward.js +0 -1
- package/dist/esm/components/TUIMessageInput/TUIMessageInput.js +0 -1
- package/dist/esm/components/TUIMessageInput/TUIMessageInputDefault.js +0 -1
- package/dist/esm/components/TUIMessageInput/Transmitter.js +0 -1
- package/dist/esm/components/TUIMessageInput/hooks/useEmojiPicker.js +0 -1
- package/dist/esm/components/TUIMessageInput/hooks/useHandleForwardMessage.js +0 -1
- package/dist/esm/components/TUIMessageInput/hooks/useHandleQuoteMessage.js +0 -1
- package/dist/esm/components/TUIMessageInput/hooks/useMessageInputText.js +0 -1
- package/dist/esm/components/TUIMessageInput/hooks/useUploadPicker.js +0 -1
- package/dist/esm/components/TUIMessageList/TUIMessageList.js +0 -1
- package/dist/esm/components/TUIMessageList/hooks/useMessageListElement.js +0 -1
- package/dist/esm/components/TUIProfile/TUIProfile.d.ts +0 -10
- package/dist/esm/components/TUIProfile/TUIProfile.js +0 -1
- package/dist/esm/components/TUIProfile/TUIProfileDefault.js +0 -1
- package/dist/esm/context/TUIConversationContext.js +0 -1
- package/src/components/ConversationCreate/ConversationCreatGroupDetail.tsx +0 -170
- package/src/components/ConversationPreview/ConversationListContainer.tsx +0 -20
- package/src/components/ConversationPreview/ConversationPreviewContent.tsx +0 -191
- package/src/components/ConversationPreview/styles/index.scss +0 -171
- package/src/components/ConversationSearch/ConversationSearchInput.tsx +0 -27
- package/src/components/ConversationSearch/ConversationSearchResult.tsx +0 -39
- package/src/components/ConversationSearch/styles/index.scss +0 -20
- package/src/components/TUIChatHeader/index.ts +0 -2
- package/src/components/TUIContact/index.ts +0 -3
- package/src/components/TUIConversation/TUIConversation.tsx +0 -46
- package/src/components/TUIConversation/index.ts +0 -1
- package/src/components/TUIConversationList/TUIConversationList.tsx +0 -178
- package/src/components/TUIConversationList/hooks/useConversationList.tsx +0 -42
- package/src/components/TUIConversationList/hooks/useConversationUpdate.tsx +0 -38
- package/src/components/TUIConversationList/index.scss +0 -58
- package/src/components/TUIConversationList/index.ts +0 -2
- package/src/components/TUIManage/index.ts +0 -1
- package/src/components/TUIMessageInput/index.ts +0 -3
- package/src/components/TUIMessageList/index.ts +0 -1
- package/src/components/TUIProfile/TUIProfile.tsx +0 -50
- package/src/components/TUIProfile/index.ts +0 -2
- package/src/components/TUIProfile/styles/index.scss +0 -2
- package/src/context/TUIChatStateContext.tsx +0 -50
- package/src/context/TUIConversationContext.tsx +0 -29
- package/src/context/TUIMessageContext.tsx +0 -56
- package/src/context/TUIMessageInputContext.tsx +0 -55
- /package/dist/cjs/components/{TUIChat/TUIChatState.js → Chat/ChatState.js} +0 -0
- /package/dist/cjs/components/{TUIChat → Chat}/hooks/useCreateTUIChatStateContext.js +0 -0
- /package/dist/cjs/components/{TUIChat → Chat}/hooks/useHandleMessage.d.ts +0 -0
- /package/dist/cjs/components/{TUIChat → Chat}/hooks/useHandleMessage.js +0 -0
- /package/dist/cjs/components/{TUIChat → Chat}/hooks/useHandleMessageList.js +0 -0
- /package/dist/cjs/components/{TUIChat → Chat}/server.js +0 -0
- /package/dist/cjs/components/{TUIChat → Chat}/utils.js +0 -0
- /package/dist/cjs/components/{TUIContact/TUIContactInfo → Contact/ContactInfo}/addFriendInfo.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/MessageContext.d.ts +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/MessageFace.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/MessageFile.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/MessageImage.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/MessageLocation.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/MessageMerger.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/MessagePlugins.d.ts +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/MessageVideo.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/hooks/useMessageContextHandler.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/hooks/useMessagePluginElement.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/utils/decodeText.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/utils/emojiMap.js +0 -0
- /package/dist/cjs/components/{TUIMessage → MessageElement}/utils/index.js +0 -0
- /package/dist/cjs/components/{TUIMessageInput → MessageInput}/InputPluginsDefalut.d.ts +0 -0
- /package/dist/cjs/components/{TUIMessageInput/TUIMessageInputDefault.d.ts → MessageInput/MessageInputDefault.d.ts} +0 -0
- /package/dist/cjs/components/{TUIMessageInput → MessageInput}/hooks/useCreateMessageInputContext.js +0 -0
- /package/dist/cjs/components/{TUIMessageInput → MessageInput}/hooks/useEmojiPicker.d.ts +0 -0
- /package/dist/cjs/components/{TUIMessageInput → MessageInput}/hooks/useMessageInputState.d.ts +0 -0
- /package/dist/cjs/components/{TUIMessageInput → MessageInput}/hooks/useMessageInputState.js +0 -0
- /package/dist/cjs/components/{TUIMessageInput → MessageInput}/hooks/useUploadElement.js +0 -0
- /package/dist/cjs/components/{TUIMessageInput → MessageInput}/hooks/useUploadPicker.d.ts +0 -0
- /package/dist/cjs/components/{TUIProfile/TUIProfileDefault.d.ts → Profile/ProfileDefault.d.ts} +0 -0
- /package/dist/cjs/components/{TUIProfile → Profile}/hooks/useMyProfile.js +0 -0
- /package/dist/cjs/context/{TUIChatActionContext.js → ChatActionContext.js} +0 -0
- /package/dist/cjs/context/{TUIChatStateContext.js → ChatStateContext.js} +0 -0
- /package/dist/cjs/context/{TUIContactContext.js → ContactContext.js} +0 -0
- /package/dist/cjs/context/{TUIMessageContext.js → MessageContext.js} +0 -0
- /package/dist/cjs/context/{TUIMessageInputContext.js → MessageInputContext.js} +0 -0
- /package/dist/esm/components/{TUIChat/TUIChatState.js → Chat/ChatState.js} +0 -0
- /package/dist/esm/components/{TUIChat → Chat}/hooks/useCreateTUIChatStateContext.js +0 -0
- /package/dist/esm/components/{TUIChat → Chat}/hooks/useHandleMessage.d.ts +0 -0
- /package/dist/esm/components/{TUIChat → Chat}/hooks/useHandleMessage.js +0 -0
- /package/dist/esm/components/{TUIChat → Chat}/hooks/useHandleMessageList.js +0 -0
- /package/dist/esm/components/{TUIChat → Chat}/server.js +0 -0
- /package/dist/esm/components/{TUIChat → Chat}/utils.js +0 -0
- /package/dist/esm/components/{TUIContact/TUIContactInfo → Contact/ContactInfo}/addFriendInfo.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/MessageContext.d.ts +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/MessageFace.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/MessageFile.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/MessageImage.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/MessageLocation.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/MessageMerger.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/MessagePlugins.d.ts +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/MessageVideo.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/hooks/useMessageContextHandler.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/hooks/useMessagePluginElement.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/utils/decodeText.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/utils/emojiMap.js +0 -0
- /package/dist/esm/components/{TUIMessage → MessageElement}/utils/index.js +0 -0
- /package/dist/esm/components/{TUIMessageInput → MessageInput}/InputPluginsDefalut.d.ts +0 -0
- /package/dist/esm/components/{TUIMessageInput/TUIMessageInputDefault.d.ts → MessageInput/MessageInputDefault.d.ts} +0 -0
- /package/dist/esm/components/{TUIMessageInput → MessageInput}/hooks/useCreateMessageInputContext.js +0 -0
- /package/dist/esm/components/{TUIMessageInput → MessageInput}/hooks/useEmojiPicker.d.ts +0 -0
- /package/dist/esm/components/{TUIMessageInput → MessageInput}/hooks/useMessageInputState.d.ts +0 -0
- /package/dist/esm/components/{TUIMessageInput → MessageInput}/hooks/useMessageInputState.js +0 -0
- /package/dist/esm/components/{TUIMessageInput → MessageInput}/hooks/useUploadElement.js +0 -0
- /package/dist/esm/components/{TUIMessageInput → MessageInput}/hooks/useUploadPicker.d.ts +0 -0
- /package/dist/esm/components/{TUIProfile/TUIProfileDefault.d.ts → Profile/ProfileDefault.d.ts} +0 -0
- /package/dist/esm/components/{TUIProfile → Profile}/hooks/useMyProfile.js +0 -0
- /package/dist/esm/context/{TUIChatActionContext.js → ChatActionContext.js} +0 -0
- /package/dist/esm/context/{TUIChatStateContext.js → ChatStateContext.js} +0 -0
- /package/dist/esm/context/{TUIContactContext.js → ContactContext.js} +0 -0
- /package/dist/esm/context/{TUIMessageContext.js → MessageContext.js} +0 -0
- /package/dist/esm/context/{TUIMessageInputContext.js → MessageInputContext.js} +0 -0
- /package/src/components/{TUIChat/TUIChatState.tsx → Chat/ChatState.tsx} +0 -0
- /package/src/components/{TUIChat → Chat}/hooks/useCreateTUIChatStateContext.tsx +0 -0
- /package/src/components/{TUIChat → Chat}/hooks/useIsMounted.ts +0 -0
- /package/src/components/{TUIChat → Chat}/server.ts +0 -0
- /package/src/components/{TUIChat → Chat}/styles/index.scss +0 -0
- /package/src/components/{TUIChat → Chat}/styles/layout.scss +0 -0
- /package/src/components/{TUIChat → Chat}/utils.ts +0 -0
- /package/src/components/{TUIChatHeader → ChatHeader}/styles/color.scss +0 -0
- /package/src/components/{TUIChatHeader → ChatHeader}/styles/index.scss +0 -0
- /package/src/components/{TUIContact/TUIContactInfo → Contact/ContactInfo}/addFriendInfo.tsx +0 -0
- /package/src/components/{TUIContact/TUIContactInfo → Contact/ContactInfo}/basicInfo.tsx +0 -0
- /package/src/components/{TUIContact/TUIContactInfo → Contact/ContactInfo}/blockInfo.tsx +0 -0
- /package/src/components/{TUIContact/TUIContactInfo → Contact/ContactInfo}/friendApplication.tsx +0 -0
- /package/src/components/{TUIContact/TUIContactInfo → Contact/ContactInfo}/friendInfo.tsx +0 -0
- /package/src/components/{TUIContact/TUIContactInfo → Contact/ContactInfo}/groupInfo.tsx +0 -0
- /package/src/components/{TUIContact/TUIContactInfo → Contact/ContactInfo}/hooks/useContactInfo.tsx +0 -0
- /package/src/components/{TUIContact/TUIContactInfo → Contact/ContactInfo}/index.scss +0 -0
- /package/src/components/{TUIContact/TUIContactList → Contact/ContactList}/index.scss +0 -0
- /package/src/components/{TUIContact → Contact}/hooks/useTUIContact.tsx +0 -0
- /package/src/components/{TUIContact → Contact}/index.scss +0 -0
- /package/src/components/{TUIContactSearch → ContactSearch}/hooks/useContactSearch.tsx +0 -0
- /package/src/components/{TUIContactSearch → ContactSearch}/index.scss +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageAudio.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageAvatar.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageBubble.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageContext.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageFace.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageFile.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageImage.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageLocation.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageMerger.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageName.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageProgress.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageRevoke.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageStatus.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageSystem.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageText.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageTip.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/MessageVideo.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/hooks/index.ts +0 -0
- /package/src/components/{TUIMessage → MessageElement}/hooks/useMessageContextHandler.ts +0 -0
- /package/src/components/{TUIMessage → MessageElement}/hooks/useMessageHandler.ts +0 -0
- /package/src/components/{TUIMessage → MessageElement}/hooks/useMessagePluginElement.tsx +0 -0
- /package/src/components/{TUIMessage → MessageElement}/hooks/useMessageReply.ts +0 -0
- /package/src/components/{TUIMessage → MessageElement}/styles/color.scss +0 -0
- /package/src/components/{TUIMessage → MessageElement}/styles/index.scss +0 -0
- /package/src/components/{TUIMessage → MessageElement}/utils/decodeText.ts +0 -0
- /package/src/components/{TUIMessage → MessageElement}/utils/emojiMap.ts +0 -0
- /package/src/components/{TUIMessage → MessageElement}/utils/index.ts +0 -0
- /package/src/components/{TUIMessageInput → MessageInput}/hooks/index.ts +0 -0
- /package/src/components/{TUIMessageInput → MessageInput}/hooks/useCreateMessageInputContext.ts +0 -0
- /package/src/components/{TUIMessageInput → MessageInput}/hooks/useHandleForwardMessage.tsx +0 -0
- /package/src/components/{TUIMessageInput → MessageInput}/hooks/useHandleQuoteMessage.tsx +0 -0
- /package/src/components/{TUIMessageInput → MessageInput}/hooks/usePluginsElement.tsx +0 -0
- /package/src/components/{TUIMessageInput → MessageInput}/hooks/useUploadElement.tsx +0 -0
- /package/src/components/{TUIMessageInput → MessageInput}/hooks/useUploadPicker.tsx +0 -0
- /package/src/components/{TUIMessageInput → MessageInput}/styles/index.scss +0 -0
- /package/src/components/{TUIMessageInput → MessageInput}/styles/layout.scss +0 -0
- /package/src/components/{TUIMessageList → MessageList}/styles/color.scss +0 -0
- /package/src/components/{TUIMessageList → MessageList}/styles/index.scss +0 -0
- /package/src/components/{TUIMessageList → MessageList}/styles/layout.scss +0 -0
- /package/src/components/{TUIProfile/TUIProfileDefault.tsx → Profile/ProfileDefault.tsx} +0 -0
- /package/src/components/{TUIProfile → Profile}/hooks/index.ts +0 -0
- /package/src/components/{TUIProfile → Profile}/hooks/useMyProfile.tsx +0 -0
- /package/src/components/{TUIProfile → Profile}/styles/color.scss +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,11 @@ import React__default, { PropsWithChildren } from 'react';
|
|
|
2
2
|
import { Conversation, Message } from '@tencentcloud/chat';
|
|
3
3
|
import { IMessageModel } from '@tencentcloud/chat-uikit-engine';
|
|
4
4
|
import { UnknowPorps } from '../../context/ComponentContext.js';
|
|
5
|
-
import { TUIChatHeaderDefaultProps } from '../
|
|
6
|
-
import { TUIMessageProps } from '../
|
|
7
|
-
import { MessageContextProps } from '../
|
|
8
|
-
import { MessageListProps } from '../
|
|
9
|
-
import { TUIMessageInputBasicProps } from '../
|
|
5
|
+
import { TUIChatHeaderDefaultProps } from '../ChatHeader/ChatHeaderDefault.js';
|
|
6
|
+
import { TUIMessageProps } from '../MessageElement/Message.js';
|
|
7
|
+
import { MessageContextProps } from '../MessageElement/MessageContext.js';
|
|
8
|
+
import { MessageListProps } from '../MessageList/MessageList.js';
|
|
9
|
+
import { TUIMessageInputBasicProps } from '../MessageInput/MessageInput.js';
|
|
10
10
|
|
|
11
11
|
interface TUIChatProps {
|
|
12
12
|
className?: string;
|
|
@@ -33,7 +33,7 @@ interface TUIChatProps {
|
|
|
33
33
|
TUIMessageListConfig?: MessageListProps;
|
|
34
34
|
[propName: string]: any;
|
|
35
35
|
}
|
|
36
|
-
declare function
|
|
37
|
-
declare const
|
|
36
|
+
declare function UnMemoizedChat<T extends TUIChatProps>(props: PropsWithChildren<T>): React__default.ReactElement;
|
|
37
|
+
declare const Chat: typeof UnMemoizedChat;
|
|
38
38
|
|
|
39
|
-
export {
|
|
39
|
+
export { Chat };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react"),s=require("react/jsx-runtime"),a=require("@tencentcloud/chat-uikit-engine"),n=require("../utils.js"),r=require("../../context/UIKitContext.js"),i=require("../../context/UIManagerContext.js"),o=require("../../context/ChatStateContext.js"),u=require("../../context/ChatActionContext.js");require("../../context/MessageContext.js");var c=require("../../context/ComponentContext.js"),g=require("./hooks/useCreateTUIChatStateContext.js"),l=require("../MessageElement/Message.js");require("../MessageElement/MessagePlugins.js"),require("../MessageElement/MessageContext.js");var d=require("../../constants.js"),M=require("./ChatState.js"),C=require("./hooks/useHandleMessageList.js"),v=require("./hooks/useHandleMessage.js"),I=require("../ChatHeader/ChatHeader.js");require("@tencentcloud/tui-core"),require("@tencentcloud/chat"),require("../Icon/config.js"),require("../Icon/type.js"),require("../../utils/env.js");var h=require("../MessageList/MessageList.js"),T=require("../MessageInput/MessageInput.js");require("react-i18next");var f=require("../EmptyStateIndicator/EmptyStateIndicator.js");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _(a){var n=a.conversation,o=a.EmptyPlaceholder,u=void 0===o?s.jsx(f.EmptyStateIndicator,{listType:"chat"}):o,c=r.useUIKit().chat,g=i.useUIManager().conversation,l=n||g;return(null==l?void 0:l.conversationID)?t.createElement(S,e.__assign({chat:c},a,{conversation:l,key:l.conversationID})):u}function S(r){var i=this,f=r.chat,p=r.conversation,_=r.className,S=r.children,j=r.TUIMessage,m=r.TUIChatHeader,x=r.TUIMessageInput,q=r.InputPlugins,P=r.MessagePlugins,U=r.MessageContext,E=r.MessageCustomPlugins,A=r.MessageTextPlugins,H=r.InputQuote;r.onMessageRecevied,r.sendMessage;var L=r.revokeMessage;r.selectedConversation;var y=r.filterMessage,N=r.messageConfig,D=r.cloudCustomData,k=r.TUIMessageInputConfig,R=r.TUIMessageListConfig,O=r.callButtonClicked,w=t.useReducer(M.chatReducer,e.__assign(e.__assign({},M.initialState),{conversation:p})),b=w[0],F=w[1],Y=t.useRef(null),B=t.useRef(),G=b&&g(e.__assign({chat:f,conversation:p,messageListRef:Y,textareaRef:B,messageConfig:N,cloudCustomData:D,TUIMessageInputConfig:k,TUIMessageListConfig:R},b)),K=C.useHandleMessageList({chat:f,conversation:p,state:b,dispatch:F,filterMessage:y}),Q=K.editLocalMessage,V=K.updateUploadPendingMessageList,J=v.useHandleMessage({state:b,dispatch:F}),z=J.operateMessage,W=J.setAudioSource,X=J.setVideoSource,Z=J.setHighlightedMessageId,$=J.setActiveMessageID;t.useEffect((function(){return a.TUIStore.watch(a.StoreName.CHAT,{messageList:ee,isCompleted:te}),function(){a.TUIStore.unwatch(a.StoreName.CHAT,{messageList:ee,isCompleted:te})}}),[]);var ee=function(e){var t=e.filter((function(e){return!e.isDeleted}));F({type:d.CONSTANT_DISPATCH_TYPE.SET_MESSAGELIST,value:y?y(t):t})},te=function(e){e&&F({type:d.CONSTANT_DISPATCH_TYPE.SET_NO_MORE,value:e})},se=function(){return e.__awaiter(i,void 0,void 0,(function(){return e.__generator(this,(function(e){return a.TUIChatService.getMessageList(),[2]}))}))},ae=function(t){return e.__awaiter(i,void 0,void 0,(function(){var s;return e.__generator(this,(function(e){return"TIMCustomElem"===t.type&&7===(null===(s=n.JSONStringToParse(t.payload.data))||void 0===s?void 0:s.src)||b.firstSendMessage||F({type:d.CONSTANT_DISPATCH_TYPE.SET_FIRST_SEND_MESSAGE,value:t}),[2]}))}))},ne=t.useMemo((function(){return{editLocalMessage:Q,operateMessage:z,loadMore:se,revokeMessage:L,setAudioSource:W,setVideoSource:X,setHighlightedMessageId:Z,setActiveMessageID:$,updateUploadPendingMessageList:V,setFirstSendMessage:ae,callButtonClicked:O}}),[Q,z,se,L,W,X,Z,$,V,ae,O]),re=t.useMemo((function(){return{TUIMessage:j||l.TUIMessage,MessageContext:U,InputPlugins:q,MessagePlugins:P,MessageCustomPlugins:E,MessageTextPlugins:A,TUIChatHeader:m,TUIMessageInput:x,InputQuote:H}}),[]);return s.jsx("div",e.__assign({className:"chat ".concat(_)},{children:s.jsx(o.TUIChatStateContextProvider,e.__assign({value:G},{children:s.jsx(u.TUIChatActionProvider,e.__assign({value:ne},{children:s.jsx(c.ComponentProvider,e.__assign({value:re},{children:S||s.jsxs(s.Fragment,{children:[s.jsx(I.ChatHeader,{}),s.jsx(h.MessageList,{}),s.jsx(T.MessageInput,{})]})}))}))}))}))}var j=p(t).default.memo(_);exports.Chat=j;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("./server.js");require("tslib"),require("react"),require("react/jsx-runtime"),require("@tencentcloud/chat-uikit-engine"),require("date-fns"),require("date-fns/locale"),require("@tencentcloud/chat"),require("../Icon/config.js"),require("../Icon/type.js"),require("@tencentcloud/tui-core"),require("react-i18next"),require("../../context/MessageContext.js"),require("../../constants.js"),require("../MessageElement/hooks/useMessageReply.js"),require("../MessageElement/MessagePlugins.js"),require("../MessageElement/MessageContext.js"),require("../../utils/env.js"),require("../MessageInput/hooks/useHandleQuoteMessage.js"),new e;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React__default, { PropsWithChildren } from 'react';
|
|
2
2
|
import { Conversation } from '@tencentcloud/chat';
|
|
3
|
-
import { TUIChatHeaderDefaultProps } from './
|
|
3
|
+
import { TUIChatHeaderDefaultProps } from './ChatHeaderDefault.js';
|
|
4
4
|
|
|
5
5
|
interface TUIChatHeaderProps {
|
|
6
6
|
title?: string;
|
|
@@ -11,6 +11,6 @@ interface TUIChatHeaderProps {
|
|
|
11
11
|
enableCall?: boolean;
|
|
12
12
|
}
|
|
13
13
|
declare function UnMemoizedTUIChatHeader<T extends TUIChatHeaderProps>(props: PropsWithChildren<T>): React__default.ReactElement;
|
|
14
|
-
declare const
|
|
14
|
+
declare const ChatHeader: typeof UnMemoizedTUIChatHeader;
|
|
15
15
|
|
|
16
|
-
export {
|
|
16
|
+
export { ChatHeader };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("../../context/ChatStateContext.js"),a=require("./ChatHeaderDefault.js");require("tslib"),require("@tencentcloud/tui-core"),require("react-i18next"),require("@tencentcloud/chat-uikit-engine"),require("../../context/MessageContext.js");var n=require("../../context/ComponentContext.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(t){var o=t.title,u=t.conversation,i=t.TUIChatHeader,c=t.avatar,s=t.headerOpateIcon,l=t.enableCall,C=r.useTUIChatStateContext("TUIChatHeader").conversation,d=n.useComponentContext().TUIChatHeader,x=i||d||a.ChatHeaderDefault,h=u||C;return e.jsx(x,{title:o,conversation:h,avatar:c,opateIcon:s,enableCall:l})}var i=o(t).default.memo(u);exports.ChatHeader=i;
|
|
@@ -13,6 +13,6 @@ interface TUIChatHeaderBasicProps extends TUIChatHeaderDefaultProps {
|
|
|
13
13
|
isLive?: boolean;
|
|
14
14
|
opateIcon?: React__default.ReactElement | string;
|
|
15
15
|
}
|
|
16
|
-
declare function
|
|
16
|
+
declare function ChatHeaderDefault(props: TUIChatHeaderBasicProps): React__default.ReactElement;
|
|
17
17
|
|
|
18
|
-
export {
|
|
18
|
+
export { ChatHeaderDefault, TUIChatHeaderBasicProps, TUIChatHeaderDefaultProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),a=require("react"),i=require("@tencentcloud/tui-core"),n=require("@tencentcloud/chat"),s=require("@tencentcloud/chat-uikit-engine"),r=require("../Avatar/Avatar.js"),l=require("../utils.js"),c=require("../../utils/env.js"),u=require("../Icon/Icon.js"),o=require("../Icon/type.js");require("react-i18next");var d=require("../../context/UIManagerContext.js"),v=require("../../context/ChatActionContext.js");require("../../context/MessageContext.js");var h=require("../Chat/utils.js");function C(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=C(a),I=C(i),_=C(n);function g(n){var C=n.title,f=void 0===C?"":C,g=n.avatar;n.isOnline;var j=n.conversation,x=n.isLive,p=n.opateIcon,y=n.enableCall,S=void 0!==y&&y,T=v.useTUIChatActionContext().callButtonClicked,m=d.useUIManager().setActiveContact,N=a.useState(f),E=N[0],q=N[1],P=a.useState(""),A=P[0],O=P[1],k=a.useState(!1),M=k[0],b=k[1];a.useEffect((function(){switch(q(f),g&&O(g),null==j?void 0:j.type){case _.default.TYPES.CONV_C2C:!function(e,a){E||q(a||(null==e?void 0:e.nick)||(null==e?void 0:e.userID));g||O(t.jsx(r.Avatar,{size:32,image:l.handleDisplayAvatar(e.avatar)}))}(j.userProfile,null==j?void 0:j.remark);var e=!!I.default.getService(i.TUIConstants.TUICalling.SERVICE.NAME);b(e&&S);break;case _.default.TYPES.CONV_GROUP:!function(e){E||q((null==e?void 0:e.name)||(null==e?void 0:e.groupID));g||O(t.jsx(r.Avatar,{size:32,image:l.handleDisplayAvatar(e.avatar,_.default.TYPES.CONV_GROUP)}))}(j.groupProfile);break;case _.default.TYPES.CONV_SYSTEM:q("System Notice");break;default:q("")}}),[j]);var U=d.useUIManager().setTUIManageShow,V=function(e){var t,a=(null===(t=null==j?void 0:j.userProfile)||void 0===t?void 0:t.userID)||"",i=(null==j?void 0:j.type)||_.default.TYPES.CONV_C2C;h.startCall({callType:i,callMediaType:e,userIDList:[a],callButtonClicked:T})};return t.jsxs("header",e.__assign({className:"tui-chat-header ".concat(x?"tui-chat-live-header":"")},{children:[c.isH5&&t.jsx("div",e.__assign({style:{paddingRight:"10px"}},{children:t.jsx(u.Icon,{onClick:function(){s.TUIConversationService.switchConversation(""),m()},type:o.IconTypes.BACK,width:9,height:16})})),t.jsx("div",e.__assign({className:"tui-chat-header-left ".concat((null==j?void 0:j.type)===_.default.TYPES.CONV_SYSTEM?"system":"")},{children:(null==j?void 0:j.type)!==_.default.TYPES.CONV_SYSTEM&&A})),t.jsx("div",e.__assign({className:"header-content"},{children:t.jsx("h3",e.__assign({className:"title"},{children:E}))})),M&&t.jsxs("div",e.__assign({className:"call-btn-container"},{children:[t.jsx(u.Icon,{className:"call-btn",onClick:function(){return V(2)},type:o.IconTypes.VIDEOCALL,width:24}),t.jsx(u.Icon,{className:"call-btn",onClick:function(){return V(1)},type:o.IconTypes.VOICECALL,width:20})]})),t.jsx("div",e.__assign({className:"tui-chat-header-right"},{children:t.jsx("div",e.__assign({className:"header-handle"},{children:p||t.jsx(u.Icon,{className:"header-handle-more",onClick:function(){U&&U(!0)},type:o.IconTypes.ELLIPSE,width:18,height:5})}))}))]}),null==j?void 0:j.conversationID)}var j=f.default.memo(g);exports.ChatHeaderDefault=function(a){var i=e.__assign({},a);return t.jsx(j,e.__assign({},i))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),i=require("react"),a=require("react-i18next"),s=require("@tencentcloud/chat-uikit-engine"),t=require("../Icon/Icon.js"),r=require("../Icon/type.js"),o=require("../Avatar/Avatar.js"),l=require("../Avatar/default.js"),c=require("../Switch/Switch.js");require("@tencentcloud/tui-core");var u=require("../../context/UIManagerContext.js");require("../../context/MessageContext.js");var d=require("../../utils/env.js"),v=require("../ConversationPreview/utils.js");function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function h(){var g=a.useTranslation().t,h=i.useState(),m=h[0],j=h[1],x=i.useState(),_=x[0],f=x[1],I=i.useState(!1),C=I[0],p=I[1],q=i.useState(0),N=q[0];q[1];var S=u.useUIManager(),T=S.conversation,U=S.setActiveConversation,A=S.TUIManageShow,D=S.setTUIManageShow,M=function(){D&&D(!1)};return i.useEffect((function(){j(T),T&&f(v.getMessageProfile(T)),p(!!T&&T.isPinned)}),[T,N]),A&&T&&n.jsxs("div",e.__assign({className:"tui-manage ".concat(d.isH5?"tui-h5-manage":"")},{children:[n.jsxs("div",e.__assign({className:"tui-manage-title"},{children:[d.isPC&&n.jsx(t.Icon,{onClick:M,type:r.IconTypes.CANCEL,width:9,height:16}),d.isH5&&n.jsx(t.Icon,{onClick:M,type:r.IconTypes.BACK,width:9,height:16}),n.jsx("span",e.__assign({style:{marginLeft:"10px"}},{children:g("TUIConversation.Conversation Information")}))]})),n.jsxs("div",e.__assign({className:"tui-manage-container"},{children:[n.jsxs("div",e.__assign({className:"tui-manage-info"},{children:[n.jsx("div",e.__assign({className:"info-avatar"},{children:n.jsx(o.Avatar,{size:64,image:(null==_?void 0:_.avatar)||((null==_?void 0:_.groupID)?l.defaultGroupAvatarWork:l.defaultUserAvatar)})})),n.jsx("div",e.__assign({className:"info-name"},{children:(null==_?void 0:_.nick)||(null==_?void 0:_.name)})),n.jsxs("div",e.__assign({className:"info-id"},{children:["ID:",(null==_?void 0:_.userID)||(null==_?void 0:_.groupID)]}))]})),n.jsxs("div",e.__assign({className:"tui-manage-handle"},{children:[n.jsxs("div",e.__assign({className:"manage-handle-box"},{children:[n.jsx("div",e.__assign({className:"manage-handle-title"},{children:g("TUIConversation.Pin")})),n.jsx(c.Switch,{onChange:function(e){!function(e){if(p(e.target.checked),null==m?void 0:m.conversationID){var n=s.TUIStore.getConversationModel(null==m?void 0:m.conversationID);n&&n.pinConversation()}}(e)},checked:C})]})),d.isPC&&n.jsx("div",e.__assign({className:"manage-handle-box",role:"presentation",onClick:function(){if(null==m?void 0:m.conversationID){var e=s.TUIStore.getConversationModel(null==m?void 0:m.conversationID);e&&e.deleteConversation()}U(void 0)}},{children:n.jsx("div",e.__assign({className:"manage-handle-title red"},{children:g("TUIConversation.Delete")}))}))]}))]}))]}))}var m=g(i).default.memo(h);exports.ChatSetting=m;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React__default, { PropsWithChildren } from 'react';
|
|
2
|
+
|
|
3
|
+
declare function UnMemoizedContact<T>(props: PropsWithChildren<T>): React__default.ReactElement;
|
|
4
|
+
declare const Contact: React__default.MemoExoticComponent<typeof UnMemoizedContact>;
|
|
5
|
+
|
|
6
|
+
export { Contact, UnMemoizedContact };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),e=require("react/jsx-runtime"),i=require("react"),n=require("react-i18next"),s=require("../../context/ContactContext.js"),c=require("../../utils/env.js");require("@tencentcloud/tui-core");var r=require("../../context/UIManagerContext.js");require("../../context/MessageContext.js"),require("@tencentcloud/chat-uikit-engine");var a=require("./hooks/useTUIContact.js"),o=require("./ContactList/ContactList.js"),u=require("../ContactSearch/ContactSearch.js"),d=require("../Icon/Icon.js"),l=require("../Icon/type.js");function h(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}function j(h){var j=h.children,x=n.useTranslation().t,C=r.useUIManager().setActiveContact,f=i.useState(!1),p=f[0],q=f[1],v=a(),g=v.friendList,_=v.blockList,I=v.blocklistProfile,L=v.friendApplicationList,m=v.isShowContactList,S=v.setShowContactList,k=i.useMemo((function(){return{friendList:g,blockList:_,blocklistProfile:I,friendApplicationList:L,isShowContactList:m,setShowContactList:S}}),[g,I,L,m,S]);return e.jsx(s.TUIContactContextProvider,t.__assign({value:k},{children:j||e.jsxs("div",t.__assign({className:"tui-contacts ".concat(c.isH5?"tui-contacts-h5":""," ")},{children:[!p&&e.jsxs(e.Fragment,{children:[e.jsxs("div",t.__assign({className:"tui-contacts-header"},{children:[e.jsx("div",t.__assign({className:"tui-contact-input"},{children:e.jsx(u.ContactSearch,{})})),e.jsx(d.Icon,{onClick:function(){C(),q(!0)},type:l.IconTypes.ADDFRIEND,width:24,height:24})]})),e.jsx(o.ContactList,{})]}),p&&e.jsxs(e.Fragment,{children:[e.jsxs("div",t.__assign({className:"tui-contacts-add-header"},{children:[e.jsx(d.Icon,{onClick:function(){C(),q(!1)},type:l.IconTypes.BACK,width:9,height:16}),e.jsx("div",t.__assign({className:"tui-contacts-add-header-title"},{children:x("TUIContact.Add Friend")}))]})),e.jsx(u.ContactSearch,{})]})]}))}))}var x=h(i).default.memo(j);exports.Contact=x,exports.UnMemoizedContact=j;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React__default, { PropsWithChildren } from 'react';
|
|
2
|
+
|
|
3
|
+
interface TUIContactInfoProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
showChats?: () => void;
|
|
6
|
+
}
|
|
7
|
+
declare function UnMemoizedContactInfo<T extends TUIContactInfoProps>(props: PropsWithChildren<T>): React__default.ReactElement;
|
|
8
|
+
declare const ContactInfo: React__default.MemoExoticComponent<typeof UnMemoizedContactInfo>;
|
|
9
|
+
|
|
10
|
+
export { ContactInfo, UnMemoizedContactInfo };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),t=require("react");require("@tencentcloud/tui-core"),require("react-i18next");var r=require("../../../context/UIManagerContext.js");require("../../../context/MessageContext.js"),require("@tencentcloud/chat-uikit-engine");var i=require("../../../utils/env.js"),o=require("./friendInfo.js"),a=require("./blockInfo.js"),u=require("./addFriendInfo.js"),d=require("./groupInfo.js"),l=require("./friendApplication.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(t){var s=t.showChats,c=r.useUIManager().contactData;return(null==c?void 0:c.type)?n.jsxs("div",e.__assign({className:"tui-contact-info ".concat(i.isH5?"tui-contact-info-h5":""," ")},{children:["addFriend"===(null==c?void 0:c.type)&&n.jsx(u.AddFriendInfo,{profile:null==c?void 0:c.data}),"friend"===(null==c?void 0:c.type)&&n.jsx(o.FriendInfo,{showChats:s,friend:null==c?void 0:c.data}),"block"===(null==c?void 0:c.type)&&n.jsx(a.BlockInfo,{profile:null==c?void 0:c.data}),"group"===(null==c?void 0:c.type)&&n.jsx(d.GroupInfo,{showChats:s,group:null==c?void 0:c.data}),"friendApplication"===(null==c?void 0:c.type)&&n.jsx(l.FriendApplicationInfo,{application:null==c?void 0:c.data})]})):n.jsx(n.Fragment,{children:" "})}var f=s(t).default.memo(c);exports.ContactInfo=f,exports.UnMemoizedContactInfo=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("react/jsx-runtime"),a=require("react"),t=require("react-i18next"),i=require("@tencentcloud/chat-uikit-engine");require("@tencentcloud/tui-core");var n=require("../../../context/UIManagerContext.js");require("../../../context/MessageContext.js");var s=require("../../Icon/Icon.js"),c=require("../../Icon/type.js"),o=require("../../../utils/env.js"),u=require("../../Avatar/Avatar.js"),d=require("../../Avatar/default.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function v(a){var l=a.profile,v=t.useTranslation().t,x=l.userID,j=l.nick,h=l.selfSignature,f=l.avatar,g=n.useUIManager().setActiveContact;return r.jsxs("div",e.__assign({className:"tui-contact-info-header"},{children:[o.isH5&&r.jsx(s.Icon,{width:9,height:16,type:c.IconTypes.BACK,onClick:function(){i.TUIConversationService.switchConversation(""),g()}}),r.jsxs("div",e.__assign({className:"header-container"},{children:[r.jsxs("div",e.__assign({className:"header-container-avatar"},{children:[r.jsx(u.Avatar,{size:60,image:f||d.defaultUserAvatar}),r.jsx("div",e.__assign({className:"header-container-name"},{children:j||x}))]})),r.jsx("div",e.__assign({className:"header-container-text"},{children:"ID:".concat(x)})),r.jsxs("div",e.__assign({className:"header-container-text"},{children:[v("TUIContact.Signature"),":",h||""]}))]}))]}))}var x=l(a).default.memo(v);exports.BasicInfo=x,exports.UnMemoizedBasicInfo=v;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),n=require("react"),r=require("react-i18next");require("@tencentcloud/tui-core");var i=require("../../../context/UIManagerContext.js");require("../../../context/MessageContext.js"),require("@tencentcloud/chat-uikit-engine");var c=require("./basicInfo.js"),s=require("../../Switch/Switch.js"),o=require("./hooks/useContactInfo.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(a){var u=this,l=a.profile,f=i.useUIManager(),d=f.contactData,x=f.setActiveContact,h=r.useTranslation().t,j=n.useState(!1),m=j[0],v=j[1],_=o().removeFromBlocklist;n.useEffect((function(){v(!0)}),[d]);return t.jsxs(t.Fragment,{children:[t.jsx(c.BasicInfo,{profile:l}),t.jsx("div",e.__assign({className:"tui-contact-info-content"},{children:t.jsxs("div",e.__assign({className:"content-item"},{children:[t.jsx("p",e.__assign({className:"content-item-label"},{children:h("TUIContact.block")})),t.jsx(s.Switch,{className:"content-item-text",onChange:function(){return e.__awaiter(u,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,_(l.userID)];case 1:return e.sent(),v(!1),x(),[2]}}))}))},checked:m})]}))}))]})}var l=a(n).default.memo(u);exports.BlockInfo=l,exports.UnMemoizedBlockInfo=u;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),n=require("react"),a=require("react-i18next"),i=require("@tencentcloud/chat");require("@tencentcloud/tui-core");var s=require("../../../context/UIManagerContext.js");require("../../../context/MessageContext.js"),require("@tencentcloud/chat-uikit-engine");var r=require("../../Avatar/Avatar.js"),c=require("../../Avatar/default.js"),o=require("./hooks/useContactInfo.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=l(n),u=l(i);function _(n){var i=s.useUIManager().setActiveContact,l=a.useTranslation().t,d=n.application,_=d.userID,x=d.nick,v=d.avatar,m=d.type,j=d.wording,f=o(),h=f.acceptFriendApplication,g=f.refuseFriendApplication;return t.jsxs(t.Fragment,{children:[t.jsx("div",e.__assign({className:"tui-contact-info-header"},{children:t.jsxs("div",e.__assign({className:"header-container"},{children:[t.jsxs("div",e.__assign({className:"header-container-avatar"},{children:[t.jsx(r.Avatar,{size:60,image:v||c.defaultUserAvatar}),t.jsx("div",e.__assign({className:"header-container-name"},{children:x||_}))]})),t.jsx("div",e.__assign({className:"header-container-text"},{children:"ID:".concat(_)}))]}))})),t.jsx("div",e.__assign({className:"tui-contact-info-content"},{children:t.jsxs("div",e.__assign({className:"content-item"},{children:[t.jsx("p",e.__assign({className:"content-item-label"},{children:l("TUIContact.verification info")})),t.jsx("p",e.__assign({className:"content-item-text"},{children:j}))]}))})),m===u.default.TYPES.SNS_APPLICATION_SENT_TO_ME&&t.jsx("div",e.__assign({className:"tui-contact-info-content"},{children:t.jsxs("div",e.__assign({className:"content-btn-container"},{children:[t.jsx("div",e.__assign({className:"content-item-btn delete-btn",role:"button",tabIndex:0,onClick:function(){i(),g(_)}},{children:l("TUIContact.Refuse")})),t.jsx("div",e.__assign({className:"content-item-btn confirm-btn",role:"button",tabIndex:0,onClick:function(){i(),h(_)}},{children:l("TUIContact.Agree")}))]}))}))]})}var x=d.default.memo(_);exports.FriendApplicationInfo=x,exports.UnMemoizedFriendApplication=_;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),n=require("react"),i=require("react-i18next"),r=require("@tencentcloud/chat-uikit-engine"),s=require("../../../context/UIKitContext.js"),a=require("../../../context/UIManagerContext.js");require("../../../context/MessageContext.js");var c=require("./basicInfo.js"),o=require("../../Switch/Switch.js"),u=require("./hooks/useContactInfo.js"),l=require("../../DivWithEdit/DivWithEdit.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function f(d){var f=this,m=s.useUIKit().chat,v=a.useUIManager(),h=v.contactData,x=v.setActiveContact,_=v.setActiveConversation,j=i.useTranslation().t,g=d.friend,C=d.showChats,b=g.userID,I=g.profile,k=g.remark,q=n.useState(""),p=q[0],N=q[1],U=n.useState(""),w=U[0],S=U[1],D=n.useState(!1),T=D[0],M=D[1],E=u(),F=E.addToBlocklist,y=E.deleteFriend;n.useEffect((function(){M(!1),S(k)}),[h,k]);return t.jsxs(t.Fragment,{children:[t.jsx(c.BasicInfo,{profile:I}),t.jsxs("div",e.__assign({className:"tui-contact-info-content"},{children:[t.jsxs("div",e.__assign({className:"content-item"},{children:[t.jsx("p",e.__assign({className:"content-item-label"},{children:j("TUIContact.remark")})),t.jsx(l.DivWithEdit,{name:"remark",className:"content-item-text",value:w,type:"text",toggle:function(){N("remark")},isEdit:"remark"===p,confirm:function(e){m.updateFriend({userID:b,remark:null==e?void 0:e.value}),S(null==e?void 0:e.value),N("")},close:function(){N("")}})]})),t.jsxs("div",e.__assign({className:"content-item"},{children:[t.jsx("p",e.__assign({className:"content-item-label"},{children:j("TUIContact.block")})),t.jsx(o.Switch,{className:"content-item-text",onChange:function(){return e.__awaiter(f,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,F(b)];case 1:return e.sent(),M(!0),x(),[2]}}))}))},checked:T})]})),t.jsxs("div",e.__assign({className:"content-btn-container"},{children:[t.jsx("div",e.__assign({className:"content-item-btn delete-btn",role:"button",tabIndex:0,onClick:function(){return e.__awaiter(f,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,y(b)];case 1:return e.sent(),x(),[2]}}))}))}},{children:j("TUIContact.Delete friend")})),t.jsx("div",e.__assign({className:"content-item-btn confirm-btn",role:"button",tabIndex:0,onClick:function(){var e="C2C".concat(b);C&&C(),r.TUIConversationService.switchConversation(e).then((function(e){_(e.getConversation())}))}},{children:j("TUIContact.Send Message")}))]}))]}))]})}var m=d(n).default.memo(f);exports.FriendInfo=m,exports.UnMemoizedFriendInfo=f;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),t=require("react"),r=require("react-i18next"),a=require("@tencentcloud/chat-uikit-engine");require("@tencentcloud/tui-core");var i=require("../../../context/UIManagerContext.js");require("../../../context/MessageContext.js");var s=require("../../Icon/Icon.js"),c=require("../../Icon/type.js"),o=require("../../../utils/env.js"),u=require("../../Avatar/Avatar.js"),d=require("../../Avatar/default.js");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(t){var v=t.group,l=t.showChats,h=i.useUIManager(),x=h.setActiveContact,j=h.setActiveConversation,g=r.useTranslation().t,m=v.groupID,_=v.name,f=v.avatar;return n.jsxs(n.Fragment,{children:[n.jsxs("div",e.__assign({className:"tui-contact-info-header"},{children:[o.isH5&&n.jsx(s.Icon,{width:9,height:16,type:c.IconTypes.BACK,onClick:function(){a.TUIConversationService.switchConversation(""),x()}}),n.jsxs("div",e.__assign({className:"header-container"},{children:[n.jsxs("div",e.__assign({className:"header-container-avatar"},{children:[n.jsx(u.Avatar,{size:60,image:f||d.defaultUserAvatar}),n.jsx("div",e.__assign({className:"header-container-name"},{children:_||m}))]})),n.jsx("div",e.__assign({className:"header-container-text"},{children:"groupID:".concat(m)}))]}))]})),n.jsx("div",e.__assign({className:"tui-contact-info-content"},{children:n.jsx("div",e.__assign({className:"content-btn-container"},{children:n.jsx("div",e.__assign({className:"content-item-btn confirm-btn",role:"button",tabIndex:0,onClick:function(){var e="GROUP".concat(m);l&&l(),a.TUIConversationService.switchConversation(e).then((function(e){j(e.getConversation())}))}},{children:g("TUIContact.Send Message")}))}))}))]})}var h=v(t).default.memo(l);exports.GroupInfo=h,exports.UnMemoizedGroupInfo=l;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("tslib"),t=require("react"),r=require("@tencentcloud/chat"),i=require("../../../Toast/index.js"),n=require("../../../../context/UIKitContext.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("react/jsx-runtime"),require("@tencentcloud/chat-uikit-engine"),require("../../../../context/MessageContext.js");var c=u(r);module.exports=function(){var r=this,u=n.useUIKit().chat,a=t.useCallback((function(e){u.removeFromBlacklist({userIDList:[e]})}),[u]),o=t.useCallback((function(e){u.addFriend({to:null==e?void 0:e.userID,source:"AddSource_Type_Web",remark:null==e?void 0:e.remark,wording:null==e?void 0:e.wording}).catch((function(e){console.warn("delete friend failed:",e),i.Toast({text:e,type:"error"})}))}),[u]),l=t.useCallback((function(e){u.deleteFriend({userIDList:[e]})}),[u]);return{addToBlocklist:t.useCallback((function(e){u.addToBlacklist({userIDList:[e]})}),[u]),removeFromBlocklist:a,isFriend:function(e){return new Promise((function(t,r){u.checkFriend({userIDList:[null==e?void 0:e.userID],type:c.default.TYPES.SNS_CHECK_TYPE_BOTH}).then((function(e){var r,i;switch(null===(i=null===(r=null==e?void 0:e.data)||void 0===r?void 0:r.successUserIDList[0])||void 0===i?void 0:i.relation){case c.default.TYPES.SNS_TYPE_NO_RELATION:case c.default.TYPES.SNS_TYPE_A_WITH_B:case c.default.TYPES.SNS_TYPE_B_WITH_A:t(!1);break;case c.default.TYPES.SNS_TYPE_BOTH_WAY:t(!0);break;default:t(!1)}})).catch((function(e){console.warn("checkFriend error",e),r(e)}))}))},isBlock:function(t){return e.__awaiter(r,void 0,void 0,(function(){return e.__generator(this,(function(e){switch(e.label){case 0:return[4,u.getBlacklist()];case 1:return[2,e.sent().data.includes(t)]}}))}))},addFriend:o,deleteFriend:l,acceptFriendApplication:t.useCallback((function(e){u.acceptFriendApplication({userID:e,type:c.default.TYPES.SNS_APPLICATION_AGREE_AND_ADD})}),[u]),refuseFriendApplication:t.useCallback((function(e){u.refuseFriendApplication({userID:e})}),[u])}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),s=require("react/jsx-runtime"),i=require("react"),e=require("react-i18next"),n=require("@tencentcloud/chat"),a=require("../../../utils/env.js");require("@tencentcloud/tui-core");var c=require("../../../context/UIManagerContext.js");require("../../../context/MessageContext.js");var o=require("../../../context/ContactContext.js");require("@tencentcloud/chat-uikit-engine");var r=require("../ContactInfo/hooks/useContactInfo.js"),l=require("../hooks/useTUIContact.js"),u=require("../../Avatar/Avatar.js"),d=require("../../Avatar/default.js");function _(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var x=_(i),m=_(n);function p(){var n=c.useUIManager().setActiveContact,_=e.useTranslation().t,x=o.useTUIContactContext("TUIContactList"),p=x.isShowContactList,j=x.friendList,v=x.blocklistProfile,h=x.friendApplicationList,f=r().acceptFriendApplication,g=l().groupList,C=i.useState(!1),N=C[0],I=C[1],S=i.useState(!1),b=S[0],T=S[1],A=i.useState(!1),q=A[0],k=A[1],U=i.useState(!1),w=U[0],L=U[1],P=function(i){var e=i.type,a=i.isShow,c=i.setShow,o=i.list,r=i.title;return s.jsxs(s.Fragment,{children:[s.jsxs("div",t.__assign({className:"tui-contacts-title",role:"button",tabIndex:0,onClick:function(){return c(!a)}},{children:[s.jsx("div",t.__assign({className:"tui-contacts-list-title"},{children:r})),s.jsx("div",t.__assign({className:"tui-contacts-list-icon"},{children:a?s.jsx("i",t.__assign({className:"iconfont contacts-list-icon"},{children:""})):s.jsx("i",t.__assign({className:"iconfont contacts-list-icon"},{children:""}))}))]})),a&&(null==o?void 0:o.map((function(i){var a=i.profile||i,c=a.userID,o=a.groupID,r=a.avatar,l=a.name,_=a.nick,x=i.remark||_||c||l||o;return s.jsxs("div",t.__assign({role:"button",tabIndex:0,className:"tui-contacts-list-item",onClick:function(){n({type:e,data:i})}},{children:[s.jsx(u.Avatar,{size:30,image:r||d.defaultUserAvatar}),s.jsx("div",t.__assign({className:"tui-contacts-list-item-container"},{children:s.jsx("p",t.__assign({className:"tui-contacts-list-item-name"},{children:x}))}))]}),c||o)})))]})};return p&&s.jsxs("div",t.__assign({className:"tui-contacts-list ".concat(a.isH5?"tui-contacts-list-h5":""," ")},{children:[s.jsxs("div",t.__assign({className:"tui-contacts-title",role:"button",tabIndex:0,onClick:function(){return I(!N)}},{children:[s.jsx("p",t.__assign({className:"tui-contacts-list-title"},{children:_("TUIContact.New Contacts")})),s.jsx("div",t.__assign({className:"tui-contacts-list-icon"},{children:N?s.jsx("i",t.__assign({className:"iconfont contacts-list-icon"},{children:""})):s.jsx("i",t.__assign({className:"iconfont contacts-list-icon"},{children:""}))}))]})),N&&(null==h?void 0:h.map((function(i,e){var a=i.userID,c=i.avatar,o=i.nick,r=i.wording,l=i.type;return s.jsxs("div",t.__assign({role:"button",tabIndex:0,className:"tui-contacts-list-item",onClick:function(t){t.stopPropagation(),n({type:"friendApplication",data:i})}},{children:[s.jsx(u.Avatar,{size:30,image:c||d.defaultUserAvatar}),s.jsxs("div",t.__assign({className:"tui-contacts-list-item-card"},{children:[s.jsxs("div",{children:[s.jsx("p",t.__assign({className:"tui-contacts-list-item-name text-ellipsis"},{children:o||a})),""!==r&&s.jsx("p",t.__assign({className:"tui-contacts-list-item-text text-ellipsis"},{children:r}))]}),l===m.default.TYPES.SNS_APPLICATION_SENT_BY_ME&&s.jsx("p",t.__assign({className:"tui-contacts-list-btn-text text-ellipsis"},{children:_("TUIContact.waiting for verification")})),l===m.default.TYPES.SNS_APPLICATION_SENT_TO_ME&&s.jsx("div",t.__assign({className:"application-btn",role:"button",tabIndex:0,onClick:function(t){!function(t,s){t.stopPropagation(),f(s),n()}(t,a)}},{children:_("TUIContact.Agree")}))]}))]}),a)}))),s.jsx(P,{type:"block",title:_("TUIContact.Blocked List"),isShow:q,setShow:k,list:v}),s.jsx(P,{type:"group",title:_("TUIContact.Group List"),setShow:L,isShow:w,list:g}),s.jsx(P,{type:"friend",title:_("TUIContact.Friends"),setShow:T,isShow:b,list:j})]}))}var j=x.default.memo(p);exports.ContactList=j;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var t=require("tslib"),e=require("react"),n=require("@tencentcloud/chat"),i=require("@tencentcloud/chat-uikit-engine"),r=require("../../../context/UIKitContext.js");function a(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}require("react/jsx-runtime"),require("../../../context/MessageContext.js");var u=a(n);module.exports=function(){var n=this,a=r.useUIKit().chat,o=e.useState([]),c=o[0],s=o[1],l=e.useState([]),d=l[0],f=l[1],v=e.useState([]),_=v[0],L=v[1],h=e.useState([]),g=h[0],E=h[1],S=e.useState(),p=S[0],w=S[1],I=e.useState(!0),T=I[0],A=I[1];e.useEffect((function(){i.TUIStore.watch(i.StoreName.GRP,{groupList:D}),P(),q(),b()}),[a]);var D=function(t){w(t)};e.useEffect((function(){null==a||a.on(u.default.EVENT.BLACKLIST_UPDATED,x),null==a||a.on(u.default.EVENT.FRIEND_LIST_UPDATED,C),null==a||a.on(u.default.EVENT.FRIEND_APPLICATION_LIST_UPDATED,U)}),[a]);var b=function(){return t.__awaiter(n,void 0,void 0,(function(){var e;return t.__generator(this,(function(t){switch(t.label){case 0:return[4,a.getFriendApplicationList()];case 1:return e=t.sent().data,L(null==e?void 0:e.friendApplicationList),[2]}}))}))},P=function(){return t.__awaiter(n,void 0,void 0,(function(){var e,n,i;return t.__generator(this,(function(t){switch(t.label){case 0:return[4,null==a?void 0:a.getFriendList()];case 1:return e=t.sent(),n=e.code,i=e.data,0===n&&s(i),[2]}}))}))},q=function(){return t.__awaiter(n,void 0,void 0,(function(){var e;return t.__generator(this,(function(t){switch(t.label){case 0:return[4,null==a?void 0:a.getBlacklist()];case 1:return 0===(e=t.sent().data).length||(f(e),N(e)),[2]}}))}))},N=function(e){return t.__awaiter(n,void 0,void 0,(function(){var n;return t.__generator(this,(function(t){switch(t.label){case 0:return[4,a.getUserProfile({userIDList:e})];case 1:return n=t.sent().data,E(n),[2]}}))}))},U=function(t){var e;L(null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.friendApplicationList)},x=function(t){f(t.data),N(t.data)},C=function(t){s(t.data)};return{friendList:c,groupList:p,blocklistProfile:g,friendApplicationList:_,blockList:d,isShowContactList:T,setShowContactList:A}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),r=require("react"),n=require("react-i18next");require("@tencentcloud/tui-core");var a=require("../../context/UIManagerContext.js");require("../../context/MessageContext.js");var i=require("../../context/ContactContext.js");require("@tencentcloud/chat-uikit-engine");var o=require("./hooks/useContactSearch.js"),u=require("../Icon/Icon.js"),s=require("../Icon/type.js"),c=require("../Avatar/Avatar.js"),l=require("../Avatar/default.js"),d=require("../Input/Input.js");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function f(){var v=this,f=a.useUIManager().setActiveContact,h=n.useTranslation().t,x=i.useTUIContactContext("TUIContactList"),j=x.friendList,I=x.setShowContactList,g=r.useState(!1),p=g[0],_=g[1],C=o(),m=C.checkFriend,q=C.isBlock,y=C.getUserProfile,U=r.useState(""),b=U[0],S=U[1],k=r.useState([]),A=k[0],w=k[1];return t.jsxs("div",e.__assign({className:"tui-contact-search"},{children:[t.jsx(d.Input,{className:"tui-contact-search-input",placeholder:h("TUIContact.Enter a userID"),clearable:!0,value:b,onBlur:function(e){var t;S(null===(t=e.target)||void 0===t?void 0:t.value)},onFocus:function(){f()},onChange:function(e){var t,r;if(""===(null===(t=e.target)||void 0===t?void 0:t.value))return I&&I(!0),_(!1),void w([]);_(!0),S(null===(r=e.target)||void 0===r?void 0:r.value),I&&I(!1)},onKeyDown:function(){return e.__awaiter(v,void 0,void 0,(function(){return e.__generator(this,(function(e){return b&&y(b).then((function(e){var t=e.data;w(t)})),[2]}))}))},prefix:t.jsx(u.Icon,{type:s.IconTypes.SEARCH,height:16,width:16})}),p&&0===A.length?t.jsx("div",e.__assign({className:"tui-contact-search-item"},{children:h("TUIContact.No Result")})):A.map((function(r,n){var a=r.userID,i=r.avatar,o=r.nick;return t.jsxs("div",e.__assign({className:"tui-contact-search-item",role:"button",tabIndex:0,onClick:function(){var t;t=r,e.__awaiter(v,void 0,void 0,(function(){var r;return e.__generator(this,(function(e){switch(e.label){case 0:return[4,m(t)];case 1:return e.sent()?((r=null==j?void 0:j.find((function(e){return e.userID===b})))&&f({type:"friend",data:r}),[2]):q(t.userID)?(f({type:"block",data:t}),[2]):(f({type:"addFriend",data:t}),[2])}}))}))}},{children:[t.jsx(c.Avatar,{size:30,image:i||l.defaultUserAvatar}),t.jsx("div",e.__assign({className:"search-item-name"},{children:o||a}))]}),a)}))]}))}var h=v(r).default.memo(f);exports.ContactSearch=h,exports.UnMemoizedContactSearch=f;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("@tencentcloud/chat"),t=require("../../../context/UIKitContext.js");require("tslib"),require("react/jsx-runtime"),require("react"),require("@tencentcloud/chat-uikit-engine"),require("../../../context/MessageContext.js");var r=require("../../../context/ContactContext.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=n(e);module.exports=function(){var e=r.useTUIContactContext("TUIContactList").blockList,n=t.useUIKit().chat;return{checkFriend:function(e){return n.checkFriend({userIDList:[null==e?void 0:e.userID],type:i.default.TYPES.SNS_CHECK_TYPE_BOTH}).then((function(e){var t,r;return(null===(r=null===(t=null==e?void 0:e.data)||void 0===t?void 0:t.successUserIDList[0])||void 0===r?void 0:r.relation)===i.default.TYPES.SNS_TYPE_BOTH_WAY}))},isBlock:function(t){return null==e?void 0:e.includes(t)},getUserProfile:function(e){return n.getUserProfile({userIDList:[e]})}}};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { IConversationModel } from '@tencentcloud/chat-uikit-engine';
|
|
4
|
+
|
|
5
|
+
interface IConversationActionsConfig {
|
|
6
|
+
/** Determines whether the pin button appears on the conversation actions list view. (Default: True) */
|
|
7
|
+
enablePin?: boolean;
|
|
8
|
+
/** Determines whether the mute button appears on the conversation actions list view. (Default: True) */
|
|
9
|
+
enableMute?: boolean;
|
|
10
|
+
/** Determines whether the delete button appears on the conversation actions list view. (Default: True) */
|
|
11
|
+
enableDelete?: boolean;
|
|
12
|
+
/** Function to override the default behavior when user pin or unpin a conversation. */
|
|
13
|
+
onConversationPin?: (conversation: IConversationModel, e?: React__default.MouseEvent) => void;
|
|
14
|
+
/** Function to override the default behavior when user mute or unmute a conversation. */
|
|
15
|
+
onConversationMute?: (conversation: IConversationModel, e?: React__default.MouseEvent) => void;
|
|
16
|
+
/** Function to override the default behavior when user delete a conversation. */
|
|
17
|
+
onConversationDelete?: (conversation: IConversationModel, e?: React__default.MouseEvent) => void;
|
|
18
|
+
/**
|
|
19
|
+
* An object containing custom conversation actions (key) and object (value).
|
|
20
|
+
* Each value is an object with the following properties:
|
|
21
|
+
* enable: Determines whether the custom action is enabled. (Default: True)
|
|
22
|
+
* label: The label of the custom action.
|
|
23
|
+
* onClick: The function to be called when the custom action is clicked.
|
|
24
|
+
* Note: The key of the custom action must be unique.
|
|
25
|
+
*/
|
|
26
|
+
customConversationActions?: Record<string, IConversationActionItem>;
|
|
27
|
+
/** The icon react element to be displayed in the action popup. */
|
|
28
|
+
PopupIcon?: React__default.ReactElement;
|
|
29
|
+
/** An array of react elements to be displayed in the action popup. */
|
|
30
|
+
PopupElements?: React__default.ReactElement[];
|
|
31
|
+
/** The function to be called when the action popup is clicked. */
|
|
32
|
+
onClick?: (e: React__default.MouseEvent, key?: string, conversation?: IConversationModel) => void;
|
|
33
|
+
}
|
|
34
|
+
interface IConversationActionsProps extends IConversationActionsConfig {
|
|
35
|
+
/** The conversation model. */
|
|
36
|
+
conversation: IConversationModel;
|
|
37
|
+
/** The class name of the root element. */
|
|
38
|
+
className?: string;
|
|
39
|
+
/** The style of the root element. */
|
|
40
|
+
style?: React__default.CSSProperties;
|
|
41
|
+
}
|
|
42
|
+
interface IConversationActionItem {
|
|
43
|
+
/** Determines whether the custom action is enabled. (Default: True) */
|
|
44
|
+
enable?: boolean;
|
|
45
|
+
/** label: The label of the custom action. */
|
|
46
|
+
label: string;
|
|
47
|
+
/** onClick: The function to be called when the custom action is clicked. */
|
|
48
|
+
onClick: (conversation: IConversationModel, e?: React__default.MouseEvent) => void;
|
|
49
|
+
}
|
|
50
|
+
declare const ConversationActions: (props: IConversationActionsProps) => react_jsx_runtime.JSX.Element;
|
|
51
|
+
|
|
52
|
+
export { ConversationActions, IConversationActionItem, IConversationActionsConfig, IConversationActionsProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),i=require("react"),o=require("react-i18next"),t=require("classnames"),s=require("../Plugins/index.js"),a=require("../Icon/Icon.js"),r=require("../Icon/type.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=l(i),c=l(t);exports.ConversationActions=function(t){var l=t.conversation,v=t.PopupIcon,d=t.enablePin,f=void 0===d||d,p=t.enableMute,C=void 0===p||p,_=t.enableDelete,m=void 0===_||_,b=t.onConversationPin,k=t.onConversationMute,I=t.onConversationDelete,j=t.customConversationActions,P=t.PopupElements,g=t.onClick,x=t.className,M=t.style,q=o.useTranslation().t,y=i.useRef(null),T=u.default.useState({}),U=T[0],h=T[1],N={delete:{enable:m,label:q("TUIConversation.Delete"),onClick:I||function(e){e.deleteConversation()}},pin:{enable:f,label:q(l.isPinned?"TUIConversation.Unpin":"TUIConversation.Pin"),onClick:b||function(e){e.pinConversation()}},mute:{enable:C,label:q(l.isMuted?"TUIConversation.Unmute":"TUIConversation.Mute"),onClick:k||function(e){e.muteConversation()}}};i.useEffect((function(){h(e.__assign(e.__assign({},N),j))}),[l,j]);var D=function(e,n){var i,o;(null===(i=null==y?void 0:y.current)||void 0===i?void 0:i.closeMore)&&y.current.closeMore(),null==g||g(e,n,l),null===(o=U[n])||void 0===o||o.onClick(l,e)};return n.jsx("div",e.__assign({className:c.default({"uikit-conversation-actions":!0,className:x}),style:M,onClick:function(e){e.stopPropagation()}},{children:n.jsx(s.Plugins,{customClass:"uikit-conversation-actions__container",ref:y,plugins:P||Object.keys(U).map((function(i){return!1===U[i].enable?null:n.jsx("div",e.__assign({className:c.default("uikit-conversation-actions__item",["uikit-conversation-actions__item--".concat(i)]),onClick:function(e){return D(e,i)}},{children:U[i].label}),i)})),showNumber:0,MoreIcon:v||n.jsx(a.Icon,{className:"uikit-conversation-actions__popup-icon",width:16,height:16,type:r.IconTypes.MORE})})}))};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { CreateGroupParams, IConversationModel } from '@tencentcloud/chat-uikit-engine';
|
|
4
|
+
|
|
5
|
+
interface IConversationCreateProps {
|
|
6
|
+
visible?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
style?: React__default.CSSProperties;
|
|
9
|
+
onBeforeCreateConversation?: (params: string | CreateGroupParams) => string | CreateGroupParams;
|
|
10
|
+
onConversationCreated?: (conversation: IConversationModel) => void;
|
|
11
|
+
onChangeCreateModelVisible: (visible: boolean) => void;
|
|
12
|
+
conversationList?: IConversationModel[];
|
|
13
|
+
}
|
|
14
|
+
declare enum PageStateTypes {
|
|
15
|
+
USER_SELECT = "Next",
|
|
16
|
+
CREATE_DETAIL = "Create",
|
|
17
|
+
GROUP_TYPE = "GroupType"
|
|
18
|
+
}
|
|
19
|
+
declare function ConversationCreate<T extends IConversationCreateProps>(props: T): react_jsx_runtime.JSX.Element | null;
|
|
20
|
+
|
|
21
|
+
export { ConversationCreate, IConversationCreateProps, PageStateTypes };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),s=require("react"),r=require("react-i18next"),a=require("../Icon/Icon.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),s=require("react"),r=require("react-i18next"),a=require("@tencentcloud/chat-uikit-engine"),n=require("classnames"),o=require("../Icon/Icon.js"),i=require("../Icon/type.js"),c=require("./ConversationCreateButton.js"),u=require("./ConversationCreateUserSelectList.js"),C=require("./ConversationCreateGroupDetail.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p,v=l(n);exports.PageStateTypes=void 0,(p=exports.PageStateTypes||(exports.PageStateTypes={})).USER_SELECT="Next",p.CREATE_DETAIL="Create",p.GROUP_TYPE="GroupType",exports.ConversationCreate=function(n){var l=n.visible,p=void 0===l||l,S=n.className,T=n.style,E=n.onChangeCreateModelVisible,d=n.conversationList,x=void 0===d?[]:d,f=n.onBeforeCreateConversation,g=n.onConversationCreated,_=r.useTranslation().t,y=s.useState(!1),P=y[0],j=y[1],L=s.useState(!1),h=L[0],I=L[1],U=s.useState(exports.PageStateTypes.USER_SELECT),q=U[0],R=U[1],m=s.useState([]),A=m[0],b=m[1],G=function(e){j(!1),B(),a.TUIConversationService.switchConversation(e.conversationID),null==g||g(e)};s.useEffect((function(){E(P)}),[E,P]);var k=function(){if(h)switch(q){case exports.PageStateTypes.USER_SELECT:I(!1);break;case exports.PageStateTypes.CREATE_DETAIL:R(exports.PageStateTypes.USER_SELECT),b([]);break;case exports.PageStateTypes.GROUP_TYPE:R(exports.PageStateTypes.CREATE_DETAIL)}else j(!1),B()};function B(){I(!1),R(exports.PageStateTypes.USER_SELECT),b([])}return s.useMemo((function(){return p?t.jsxs("div",e.__assign({className:v.default("uikit-conversation-create-container",S),style:T},{children:[!P&&t.jsx(c.ConversationCreateButton,{onClick:function(){return j(!0)}}),P&&t.jsxs("div",e.__assign({className:"tui-conversation-create"},{children:[t.jsxs("div",e.__assign({className:"tui-conversation-create-header"},{children:[t.jsx(o.Icon,{onClick:k,type:i.IconTypes.BACK,width:9,height:16}),t.jsx("div",e.__assign({className:"title"},{children:_(h?"TUIConversation.Add Participants":"TUIConversation.Start chat")}))]})),q===exports.PageStateTypes.USER_SELECT?t.jsx(u.ConversationCreateUserSelectList,{isCreateGroup:h,setIsCreateGroup:I,selectList:A,setSelectList:b,conversationList:x,onBeforeCreateConversation:f,onConversationCreated:G,setPageState:R}):t.jsx(C.ConversationCreateGroupDetail,{pageState:q,setPageState:R,profileList:A.map((function(e){return null==e?void 0:e.profile})),onBeforeCreateConversation:f,onConversationCreated:G})]}))]})):null}),[p,S,P,h,q,A,x,f])};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
interface IConversationCreateButtonProps {
|
|
5
|
+
visible?: boolean;
|
|
6
|
+
onClick?: (event: React__default.BaseSyntheticEvent) => void;
|
|
7
|
+
height?: number;
|
|
8
|
+
width?: number;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
declare const ConversationCreateButton: (props: IConversationCreateButtonProps) => react_jsx_runtime.JSX.Element | null;
|
|
12
|
+
|
|
13
|
+
export { ConversationCreateButton, IConversationCreateButtonProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),i=require("classnames"),r=require("../Icon/Icon.js"),n=require("../Icon/type.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=o(i);exports.ConversationCreateButton=function(i){var o=i.visible,u=void 0===o||o,a=i.className,c=i.onClick,l=i.height,d=void 0===l?24:l,v=i.width,f=void 0===v?24:v;return u?t.jsx("div",e.__assign({className:s.default("tui-conversation-create-button",a)},{children:t.jsx(r.Icon,{onClick:c,type:n.IconTypes.CREATE,height:d,width:f})})):null};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { Profile } from '@tencentcloud/chat';
|
|
4
|
+
import { CreateGroupParams, IConversationModel } from '@tencentcloud/chat-uikit-engine';
|
|
5
|
+
import { PageStateTypes } from './ConversationCreate.js';
|
|
6
|
+
|
|
7
|
+
interface ConversationCreateGroupDetailProps {
|
|
8
|
+
profileList: Profile[];
|
|
9
|
+
pageState: PageStateTypes;
|
|
10
|
+
setPageState: React__default.Dispatch<React__default.SetStateAction<PageStateTypes>>;
|
|
11
|
+
onBeforeCreateConversation?: (params: CreateGroupParams) => void;
|
|
12
|
+
onConversationCreated?: (conversation: IConversationModel) => void;
|
|
13
|
+
}
|
|
14
|
+
declare function ConversationCreateGroupDetail(props: ConversationCreateGroupDetailProps): react_jsx_runtime.JSX.Element;
|
|
15
|
+
|
|
16
|
+
export { ConversationCreateGroupDetail, ConversationCreateGroupDetailProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("react/jsx-runtime"),t=require("react"),a=require("react-i18next"),n=require("../Input/Input.js"),i=require("../Icon/Icon.js"),s=require("../Icon/type.js"),o=require("../Toast/index.js"),u=require("../Avatar/Avatar.js"),c=require("../Avatar/default.js"),p=require("./ConversationCreate.js"),l=require("./ConversationGroupTypeInfo.js");require("@tencentcloud/tui-core");var v=require("../../context/UIManagerContext.js");require("../../context/MessageContext.js"),require("@tencentcloud/chat-uikit-engine");var d=require("../../hooks/useConversation.js");exports.ConversationCreateGroupDetail=function(g){var x=this,f=g.profileList,_=g.pageState,m=g.setPageState,h=g.onBeforeCreateConversation,j=g.onConversationCreated,C=a.useTranslation().t,I=v.useUIManager();I.setActiveConversation;var y=I.myProfile,T=e.__spreadArray([],f,!0);y&&T.unshift(y);var G=T.map((function(e){return e.nick||e.userID})).toString(),N=t.useState(G.length>=15?"".concat(G.slice(0,12),"..."):G),b=N[0],q=N[1],A=t.useState(""),k=A[0],P=A[1],U=t.useState(l.GroupType.Work),S=U[0],D=U[1],R=function(e,r){var t=e.target.value;switch(r){case"name":q(t);break;case"id":P(t);break;case"type":D(t)}},L=function(){m(p.PageStateTypes.GROUP_TYPE)};return _!==p.PageStateTypes.GROUP_TYPE?r.jsxs(r.Fragment,{children:[r.jsxs("div",e.__assign({className:"tui-conversation-create-group-detail"},{children:[r.jsx("div",e.__assign({className:"create-group-box create-group-name"},{children:r.jsx(n.Input,{maxLength:15,value:b,onChange:function(e){R(e,"name")},border:"bottom",inputClassName:"input-group-name",clearable:!0,prefix:r.jsx("div",e.__assign({className:"input-group-title"},{children:C("TUIConversation.Group Name")}))})})),r.jsx("div",e.__assign({className:"create-group-box create-group-id"},{children:r.jsx(n.Input,{border:"bottom",inputClassName:"input-group-text",clearable:!0,value:k,onChange:function(e){R(e,"id")},prefix:r.jsx("div",e.__assign({className:"input-group-title"},{children:C("TUIConversation.Group ID")}))})})),r.jsx("div",e.__assign({className:"create-group-box create-group-type",onClick:L},{children:r.jsx(n.Input,{readOnly:!0,border:"bottom",inputClassName:"input-group-text",prefix:r.jsx("div",e.__assign({className:"input-group-title"},{children:C("TUIConversation.Group Type")})),suffix:r.jsx(i.Icon,{onClick:L,type:s.IconTypes.ARROW_RIGHT,width:7,height:12}),value:C("TUIConversation.".concat(S)),onChange:function(e){R(e,"type")}})})),r.jsx("div",e.__assign({className:"create-group-illustrate"},{children:C("TUIConversation.".concat(null===l.typeInfoList||void 0===l.typeInfoList?void 0:l.typeInfoList.find((function(e){return e.type===S})).des))})),r.jsxs("div",e.__assign({className:"create-group-portrait"},{children:[r.jsx("div",e.__assign({className:"create-group-portrait-title"},{children:C("TUIConversation.Participants")})),r.jsx("div",e.__assign({className:"create-group-portrait-info-container"},{children:f.map((function(t){var a=t.avatar,n=t.userID,i=t.nick;return r.jsxs("div",e.__assign({className:"create-group-portrait-info"},{children:[r.jsx(u.Avatar,{shape:"square",size:50,image:a||c.defaultUserAvatar}),r.jsx("div",e.__assign({className:"create-group-portrait-info-nick"},{children:i}))]}),n)}))}))]}))]})),r.jsx("div",e.__assign({className:"tui-conversation-create-next-container"},{children:r.jsx("div",e.__assign({role:"presentation",className:"tui-conversation-create-next",onClick:function(){return e.__awaiter(x,void 0,void 0,(function(){var r,t,a,n;return e.__generator(this,(function(e){return r=f.map((function(e){return{userID:e.userID}})),t=function(e){switch(e){case l.GroupType.Work:return c.defaultGroupAvatarWork;case l.GroupType.Public:return c.defaultGroupAvatarPublic;case l.GroupType.Meeting:return c.defaultGroupAvatarMeeting;case l.GroupType.AVChatRoom:return c.defaultGroupAvatarAVChatRoom;default:return""}}(S),a={name:b,type:S,groupID:k,avatar:t,memberList:r},n=(null==h?void 0:h(a))||a,d.createGroupConversation(n).then((function(e){null==j||j(e)})).catch((function(e){o.Toast({text:e.message,type:"error"})})),[2]}))}))}},{children:C("TUIConversation.Create")}))}))]}):r.jsx(l.ConversationGroupTypeInfo,{groupType:S,setGroupType:D,setPageState:m})};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { Profile } from '@tencentcloud/chat';
|
|
4
|
+
|
|
5
|
+
interface ValueProps {
|
|
6
|
+
profile: Profile;
|
|
7
|
+
domList: HTMLInputElement[];
|
|
8
|
+
}
|
|
9
|
+
interface ConversationCreateSelectViewProps {
|
|
10
|
+
selectList: ValueProps[];
|
|
11
|
+
setSelectList: React__default.Dispatch<React__default.SetStateAction<ValueProps[]>>;
|
|
12
|
+
}
|
|
13
|
+
declare function ConversationCreateSelectView(props: ConversationCreateSelectViewProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
export { ConversationCreateSelectView, ConversationCreateSelectViewProps };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { ConversationCreateSelectViewProps } from './ConversationCreateSelectView.js';
|
|
4
|
+
import { PageStateTypes } from './ConversationCreate.js';
|
|
5
|
+
import { IConversationModel } from '@tencentcloud/chat-uikit-engine';
|
|
6
|
+
|
|
7
|
+
interface ConversationCreateUserSelectListProps extends ConversationCreateSelectViewProps {
|
|
8
|
+
isCreateGroup: boolean;
|
|
9
|
+
setIsCreateGroup: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
10
|
+
className?: string;
|
|
11
|
+
conversationList: IConversationModel[];
|
|
12
|
+
setPageState: React__default.Dispatch<React__default.SetStateAction<PageStateTypes>>;
|
|
13
|
+
onBeforeCreateConversation?: (userID: string) => void;
|
|
14
|
+
onConversationCreated?: (conversation: IConversationModel) => void;
|
|
15
|
+
}
|
|
16
|
+
declare function ConversationCreateUserSelectList(props: ConversationCreateUserSelectListProps): react_jsx_runtime.JSX.Element;
|
|
17
|
+
|
|
18
|
+
export { ConversationCreateUserSelectList, ConversationCreateUserSelectListProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),r=require("react"),n=require("react-i18next"),s=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),r=require("react"),n=require("react-i18next"),s=require("../Input/Input.js"),i=require("../Icon/Icon.js"),a=require("../Icon/type.js"),c=require("./ConversationCreateSelectView.js"),o=require("../Avatar/Avatar.js"),u=require("../Avatar/default.js"),l=require("./hooks/useConversationCreate.js"),v=require("../../hooks/useConversation.js"),d=require("../../context/UIKitContext.js");require("@tencentcloud/chat-uikit-engine"),require("../../context/MessageContext.js");var h=require("./ConversationCreate.js"),p=require("../Toast/index.js");exports.ConversationCreateUserSelectList=function(x){var C=this,_=x.isCreateGroup,f=x.selectList,g=x.setSelectList,j=x.className,m=x.conversationList,I=x.setIsCreateGroup,q=x.setPageState,N=x.onBeforeCreateConversation,k=x.onConversationCreated,y=n.useTranslation().t,S=r.useState(""),T=S[0],b=S[1];d.useUIKit().chat;var A=r.useState({}),L=A[0],w=A[1],U=l.useConversationCreate(m,(function(e){w(e)})).getFriendListSortSearchResult,D=r.useRef(new Map),E=function(t){return e.__awaiter(C,void 0,void 0,(function(){var r;return e.__generator(this,(function(e){return _||(r=t.userID,null==N||N(r),v.createC2CConversation(r).then((function(e){null==k||k(e)})).catch((function(e){p.Toast({text:e.message,type:"error"})}))),[2]}))}))};return t.jsxs(t.Fragment,{children:[t.jsx(s.Input,{className:"tui-conversation-create-search-input",placeholder:y("TUIConversation.Search"),clearable:!0,value:T,onChange:function(t){return e.__awaiter(C,void 0,void 0,(function(){var r,n;return e.__generator(this,(function(e){switch(e.label){case 0:return r=t.target.value,b(r),n=w,[4,U(r)];case 1:return n.apply(void 0,[e.sent()]),[2]}}))}))},prefix:t.jsx(i.Icon,{type:a.IconTypes.SEARCH,height:16,width:16})}),_&&t.jsx(c.ConversationCreateSelectView,{selectList:f,setSelectList:g}),!_&&t.jsxs("div",e.__assign({role:"presentation",className:"tui-user",onClick:function(){I(!0),D.current.clear(),g([])}},{children:[t.jsx(i.Icon,{type:a.IconTypes.ADD}),t.jsx("div",e.__assign({className:"tui-user-name active"},{children:y("TUIConversation.New group chat")}))]})),t.jsx("div",e.__assign({className:"tui-conversation-create-select-list-container ".concat(j)},{children:t.jsx("div",e.__assign({className:"tui-conversation-create-select-list"},{children:t.jsx("div",e.__assign({className:"tui-group-container"},{children:Object.keys(L).map((function(r){return 0!==L[r].length&&t.jsxs("div",e.__assign({className:"tui-group-box"},{children:[t.jsx("div",e.__assign({className:"title"},{children:r})),L[r].map((function(n,s){var i=n.userID,a=n.nick,c=n.avatar;return t.jsxs("label",e.__assign({role:"presentation",className:"tui-user tui-user-checkbox-label",htmlFor:"userChecked-".concat(r,"-").concat(i),onClick:function(){E(n)}},{children:[t.jsx(o.Avatar,{size:30,image:c||u.defaultUserAvatar}),t.jsx("div",e.__assign({className:"tui-user-name text-ellipsis"},{children:a||"".concat(i)})),_&&t.jsx("input",{onChange:function(t){!function(t,r,n){void 0===n&&(n=[]);var s=r.userID,i=t.target.checked;n.forEach((function(e){e.checked=i})),i?f.push({profile:r,domList:n}):f.splice(f.findIndex((function(e){return e.profile.userID===s})),1),g(e.__spreadArray([],f,!0))}(t,n,D.current.get(i))},type:"checkbox",ref:function(e){!function(e,t){if(t){D.current.has(e)||D.current.set(e,[]);var r=D.current.get(e);0!==r.length&&r.some((function(e){return e.id===t.id}))||r.push(t)}}(i,e)},id:"userChecked-".concat(r,"-").concat(i),className:"tui-user-checkbox"})]}),i)}))]}),r)}))}))}))})),_&&t.jsx("div",e.__assign({className:"tui-conversation-create-next-container"},{children:t.jsx("div",e.__assign({role:"presentation",className:"tui-conversation-create-next",onClick:function(){f&&0===f.length?p.Toast({text:y("TUIConversation.Participant cannot be empty"),type:"error"}):q(h.PageStateTypes.CREATE_DETAIL)}},{children:y("TUIConversation.Next")}))}))]})};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { PageStateTypes } from './ConversationCreate.js';
|
|
4
|
+
|
|
5
|
+
declare enum GroupType {
|
|
6
|
+
Work,
|
|
7
|
+
Public,
|
|
8
|
+
Meeting,
|
|
9
|
+
AVChatRoom,
|
|
10
|
+
Community
|
|
11
|
+
}
|
|
12
|
+
interface ConversationGroupTypeInfoProps {
|
|
13
|
+
groupType: GroupType;
|
|
14
|
+
setGroupType: React__default.Dispatch<React__default.SetStateAction<GroupType>>;
|
|
15
|
+
setPageState: React__default.Dispatch<React__default.SetStateAction<PageStateTypes>>;
|
|
16
|
+
}
|
|
17
|
+
declare const typeInfoList: Array<{
|
|
18
|
+
type: GroupType;
|
|
19
|
+
name: string;
|
|
20
|
+
des: string;
|
|
21
|
+
}>;
|
|
22
|
+
declare function ConversationGroupTypeInfo(props: ConversationGroupTypeInfoProps): react_jsx_runtime.JSX.Element;
|
|
23
|
+
|
|
24
|
+
export { ConversationGroupTypeInfo, ConversationGroupTypeInfoProps, GroupType, typeInfoList };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),o=require("react/jsx-runtime"),n=require("react-i18next"),r=require("./ConversationCreate.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("tslib"),o=require("react/jsx-runtime"),n=require("react-i18next"),r=require("@tencentcloud/chat-uikit-engine"),i=require("./ConversationCreate.js"),a=require("../Icon/Icon.js"),s=require("../Icon/type.js");exports.GroupType=void 0,(e=exports.GroupType||(exports.GroupType={}))[e.Work=r.TUIChatEngine.TYPES.GRP_WORK]="Work",e[e.Public=r.TUIChatEngine.TYPES.GRP_PUBLIC]="Public",e[e.Meeting=r.TUIChatEngine.TYPES.GRP_MEETING]="Meeting",e[e.AVChatRoom=r.TUIChatEngine.TYPES.GRP_AVCHATROOM]="AVChatRoom",e[e.Community=r.TUIChatEngine.TYPES.GRP_COMMUNITY]="Community";var p=[{type:exports.GroupType.Work,name:"Work",des:"Users can join the group only via invitation by existing members. The invitation does not need to be agreed by the invitee or approved by the group owner. See the documentation for details."},{type:exports.GroupType.Public,name:"Public",des:"After a public group is created, the group owner can designate group admins. To join the group, a user needs to search the group ID and send a request, which needs to be approved by the group owner or an admin before the user can join the group. See the documentation for details."},{type:exports.GroupType.Meeting,name:"Meeting",des:"After the group is created, a user can join and quit the group freely and can view the messages sent before joining the group. It is suitable for scenarios that integrate Tencent Real-Time Communication (TRTC), such as audio and video conferences and online education. See the documentation for details."},{type:exports.GroupType.AVChatRoom,name:"AVChatRoom",des:"After a group is created, a user can join and quit the group freely. The group can have an unlimited number of members, but it does not store message history. It can be combined with Live Video Broadcasting (LVB) to support on-screen comment scenarios. See the documentation for details."},{type:exports.GroupType.Community,name:"Community",des:"After creation, you can enter and leave at will, support up to 100,000 people, support historical message storage, and after users search for group ID and initiate a group application, they can join the group without administrator approval. See product documentation for details."}];exports.ConversationGroupTypeInfo=function(e){var r=e.groupType,u=e.setGroupType,c=e.setPageState,d=n.useTranslation().t;return o.jsxs("div",t.__assign({className:"tui-conversation-group-type-info"},{children:[p.map((function(e){var n=e.type,p=e.name,g=e.des;return o.jsxs("div",t.__assign({role:"presentation",className:"group-type-info-box ".concat(n===r?"group-type-info-box--active":""," "),onClick:function(){!function(e){u(e),c(i.PageStateTypes.CREATE_DETAIL)}(n)}},{children:[o.jsxs("div",t.__assign({className:"group-type-info-title"},{children:[n===r&&o.jsx(a.Icon,{className:"box-active-icon",type:s.IconTypes.RIGHT,width:16,height:16}),d("TUIConversation.".concat(p))]})),o.jsx("div",t.__assign({className:"group-type-info-description"},{children:d("TUIConversation.".concat(g))}))]}),n)})),o.jsx("a",t.__assign({className:"group-type-info-document",target:"_blank",href:"https://trtc.io/document/33529?platform=web&product=chat&menulabel=uikit#group-types",rel:"bookmark noreferrer"},{children:d("TUIConversation.Details")}))]}))},exports.typeInfoList=p;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { IConversationModel } from '@tencentcloud/chat-uikit-engine';
|
|
3
|
+
import { Friend } from '@tencentcloud/chat';
|
|
4
|
+
|
|
5
|
+
declare const useConversationCreate: (conversationList: IConversationModel[], setFriendListResultHandler?: ((newFriendListResult: object, setFriendListResult: React__default.Dispatch<React__default.SetStateAction<{
|
|
6
|
+
string: object[];
|
|
7
|
+
}>>) => void) | undefined) => {
|
|
8
|
+
getFirstLetter: (str: string) => string;
|
|
9
|
+
queryFriendList: (friendList: Friend[]) => Promise<void>;
|
|
10
|
+
getFriendListSortSearchResult: (searchValue: string) => Promise<any>;
|
|
11
|
+
friendListSortResult: any;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { useConversationCreate };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("react"),t=require("@tencentcloud/chat"),n=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("react"),t=require("@tencentcloud/chat-uikit-engine"),n=require("@tencentcloud/chat"),i=require("../static/word.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=o(n);exports.useConversationCreate=function(n,o){var c=r.useState(),a=c[0],s=c[1],f=function(e){var r=e.trim(),t=r.charCodeAt(0);return t>40869||t<19968?r.charAt(0):i.strChineseFirstPy.charAt(t-19968)},l=function(r){return e.__awaiter(void 0,void 0,void 0,(function(){var t;return e.__generator(this,(function(e){return n.filter((function(e){return(null==e?void 0:e.type)===u.default.TYPES.CONV_C2C})).slice(0,5).map((function(e){return null==e?void 0:e.userProfile})),t=d(null==r?void 0:r.map((function(e){return e.profile}))),s(t),o&&o(t,s),[2]}))}))};function d(e,r){for(var t={"#":[]},n=65;n<=90;n+=1)t[String.fromCharCode(n)]=[];return null==e||e.forEach((function(e){var r=e.nick,n=e.userID,i=f(r||n);i>="a"&&i<="z"?t[i.toLocaleUpperCase()].push(e):i<"A"||i>"z"?t["#"].push(e):t[i].push(e)})),Object.keys(t).forEach((function(e){t[e].sort((function(e,r){var t=e.nick,n=e.userID,i=r.nick,o=r.userID;return t||n<=i||o?1:-1}))})),t}function v(e){l(e)}return r.useEffect((function(){return t.TUIStore.watch(t.StoreName.FRIEND,{friendList:v}),function(){t.TUIStore.unwatch(t.StoreName.FRIEND,{friendList:v})}}),[]),{getFirstLetter:f,queryFriendList:l,getFriendListSortSearchResult:function(r){return e.__awaiter(void 0,void 0,void 0,(function(){var n,i,o,u;return e.__generator(this,(function(e){switch(e.label){case 0:return r?[4,t.TUIUserService.getUserProfile({userIDList:[r]})]:[2,a];case 1:return n=e.sent().data,i={},o=!1,Object.keys(a).forEach((function(e){i[e]=a[e].filter((function(e){var t,n,i=e.nick,u=e.userID,c=null==i?void 0:i.toLocaleLowerCase(),a=r.toLocaleLowerCase(),s=u.toLocaleLowerCase();return n="TencentCloudDemo"===(null===(t=process.env)||void 0===t?void 0:t.REACT_APP_ONLINE)?c?c.includes(a):s.includes(a):s===a,o=o||n,n}))})),"TencentCloudDemo"===(null===(u=process.env)||void 0===u?void 0:u.REACT_APP_ONLINE)?[2,i]:[2,o?i:d(n)]}}))}))},friendListSortResult:a}};
|