@tencentcloud/chat-uikit-react 1.2.2 → 2.1.2

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.
Files changed (255) hide show
  1. package/.eslintrc.js +2 -1
  2. package/CHANGELOG.md +13 -2
  3. package/dist/cjs/components/ConversationCreate/ConversationCreatGroupDetail.js +1 -1
  4. package/dist/cjs/components/ConversationCreate/ConversationCreateUserSelectList.js +1 -1
  5. package/dist/cjs/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
  6. package/dist/cjs/components/ConversationPreview/ConversationPreview.d.ts +2 -0
  7. package/dist/cjs/components/ConversationPreview/ConversationPreview.js +1 -1
  8. package/dist/cjs/components/ConversationPreview/ConversationPreviewContent.js +1 -1
  9. package/dist/cjs/components/ConversationPreview/utils.js +1 -1
  10. package/dist/cjs/components/ConversationSearch/ConversationSearchResult.js +1 -1
  11. package/dist/cjs/components/Icon/config.js +1 -1
  12. package/dist/cjs/components/Icon/images/chats-selected.svg.js +1 -0
  13. package/dist/cjs/components/Icon/images/chats.svg.js +1 -0
  14. package/dist/cjs/components/Icon/images/contacts-selected.svg.js +1 -0
  15. package/dist/cjs/components/Icon/images/contacts.svg.js +1 -0
  16. package/dist/cjs/components/Icon/images/files.png.js +1 -0
  17. package/dist/cjs/components/Icon/images/image.png.js +1 -1
  18. package/dist/cjs/components/Icon/images/video.png.js +1 -1
  19. package/dist/cjs/components/TUIChat/TUIChat.d.ts +5 -0
  20. package/dist/cjs/components/TUIChat/TUIChat.js +1 -1
  21. package/dist/cjs/components/TUIChat/TUIChatState.js +1 -1
  22. package/dist/cjs/components/TUIChat/hooks/useHandleMessage.js +1 -1
  23. package/dist/cjs/components/TUIChat/hooks/useHandleMessageList.js +1 -1
  24. package/dist/cjs/components/TUIChat/unitls.js +1 -1
  25. package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
  26. package/dist/cjs/components/TUIContact/TUIContact.js +1 -1
  27. package/dist/cjs/components/TUIContact/TUIContactInfo/TUIContactInfo.js +1 -1
  28. package/dist/cjs/components/TUIContact/TUIContactInfo/basicInfo.js +1 -1
  29. package/dist/cjs/components/TUIContact/TUIContactInfo/friendInfo.js +1 -1
  30. package/dist/cjs/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
  31. package/dist/cjs/components/TUIConversation/TUIConversation.js +1 -1
  32. package/dist/cjs/components/TUIConversationList/TUIConversationList.d.ts +1 -0
  33. package/dist/cjs/components/TUIConversationList/TUIConversationList.js +1 -1
  34. package/dist/cjs/components/TUIKit/TUIKit.js +1 -1
  35. package/dist/cjs/components/TUIManage/TUIManage.js +1 -1
  36. package/dist/cjs/components/TUIMessage/MessageBubble.js +1 -1
  37. package/dist/cjs/components/TUIMessage/MessageContext.js +1 -1
  38. package/dist/cjs/components/TUIMessage/MessageCustom.js +1 -1
  39. package/dist/cjs/components/TUIMessage/MessageImage.js +1 -1
  40. package/dist/cjs/components/TUIMessage/MessageName.js +1 -1
  41. package/dist/cjs/components/TUIMessage/MessagePlugins.js +1 -1
  42. package/dist/cjs/components/TUIMessage/MessageRevoke.js +1 -1
  43. package/dist/cjs/components/TUIMessage/MessageSystem.js +1 -1
  44. package/dist/cjs/components/TUIMessage/MessageText.js +1 -1
  45. package/dist/cjs/components/TUIMessage/MessageTip.js +1 -1
  46. package/dist/cjs/components/TUIMessage/MessageVideo.js +1 -1
  47. package/dist/cjs/components/TUIMessage/TUIMessage.js +1 -1
  48. package/dist/cjs/components/TUIMessage/hooks/useMessageHandler.js +1 -1
  49. package/dist/cjs/components/TUIMessage/utils/index.js +1 -1
  50. package/dist/cjs/components/TUIMessageInput/TUIForward.js +1 -1
  51. package/dist/cjs/components/TUIMessageInput/TUIMessageInput.js +1 -1
  52. package/dist/cjs/components/TUIMessageInput/TUIMessageInputDefault.js +1 -1
  53. package/dist/cjs/components/TUIMessageInput/hooks/useEmojiPicker.js +1 -1
  54. package/dist/cjs/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
  55. package/dist/cjs/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
  56. package/dist/cjs/components/TUIMessageInput/hooks/useUploadPicker.js +1 -1
  57. package/dist/cjs/components/TUIMessageList/TUIMessageList.js +1 -1
  58. package/dist/cjs/components/TUIProfile/TUIProfileDefault.js +1 -1
  59. package/dist/cjs/components/untils.js +1 -1
  60. package/dist/cjs/constants.js +1 -1
  61. package/dist/cjs/context/ComponentContext.d.ts +2 -0
  62. package/dist/cjs/context/TUIChatActionContext.d.ts +3 -14
  63. package/dist/cjs/context/TUIChatStateContext.d.ts +2 -0
  64. package/dist/cjs/context/TUIConversationContext.js +1 -1
  65. package/dist/cjs/index.css +1 -1
  66. package/dist/cjs/index.d.css +257 -12
  67. package/dist/cjs/index.js +1 -1
  68. package/dist/cjs/locales/en/TUIChat.js +1 -1
  69. package/dist/cjs/locales/en/TUIContact.js +1 -1
  70. package/dist/cjs/locales/en/TUIProfile.js +1 -1
  71. package/dist/cjs/locales/index.js +1 -1
  72. package/dist/cjs/locales/zh_cn/TUIChat.js +1 -1
  73. package/dist/cjs/locales/zh_cn/TUIContact.js +1 -1
  74. package/dist/cjs/locales/zh_cn/TUIProfile.js +1 -1
  75. package/dist/cjs/server.js +1 -0
  76. package/dist/cjs/utils/env.js +1 -0
  77. package/dist/esm/components/ConversationCreate/ConversationCreatGroupDetail.js +1 -1
  78. package/dist/esm/components/ConversationCreate/ConversationCreateUserSelectList.js +1 -1
  79. package/dist/esm/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
  80. package/dist/esm/components/ConversationPreview/ConversationPreview.d.ts +2 -0
  81. package/dist/esm/components/ConversationPreview/ConversationPreview.js +1 -1
  82. package/dist/esm/components/ConversationPreview/ConversationPreviewContent.js +1 -1
  83. package/dist/esm/components/ConversationPreview/utils.js +1 -1
  84. package/dist/esm/components/ConversationSearch/ConversationSearchResult.js +1 -1
  85. package/dist/esm/components/Icon/config.js +1 -1
  86. package/dist/esm/components/Icon/images/chats-selected.svg.js +1 -0
  87. package/dist/esm/components/Icon/images/chats.svg.js +1 -0
  88. package/dist/esm/components/Icon/images/contacts-selected.svg.js +1 -0
  89. package/dist/esm/components/Icon/images/contacts.svg.js +1 -0
  90. package/dist/esm/components/Icon/images/files.png.js +1 -0
  91. package/dist/esm/components/Icon/images/image.png.js +1 -1
  92. package/dist/esm/components/Icon/images/video.png.js +1 -1
  93. package/dist/esm/components/TUIChat/TUIChat.d.ts +5 -0
  94. package/dist/esm/components/TUIChat/TUIChat.js +1 -1
  95. package/dist/esm/components/TUIChat/TUIChatState.js +1 -1
  96. package/dist/esm/components/TUIChat/hooks/useHandleMessage.js +1 -1
  97. package/dist/esm/components/TUIChat/hooks/useHandleMessageList.js +1 -1
  98. package/dist/esm/components/TUIChat/unitls.js +1 -1
  99. package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
  100. package/dist/esm/components/TUIContact/TUIContact.js +1 -1
  101. package/dist/esm/components/TUIContact/TUIContactInfo/TUIContactInfo.js +1 -1
  102. package/dist/esm/components/TUIContact/TUIContactInfo/basicInfo.js +1 -1
  103. package/dist/esm/components/TUIContact/TUIContactInfo/friendInfo.js +1 -1
  104. package/dist/esm/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
  105. package/dist/esm/components/TUIConversation/TUIConversation.js +1 -1
  106. package/dist/esm/components/TUIConversationList/TUIConversationList.d.ts +1 -0
  107. package/dist/esm/components/TUIConversationList/TUIConversationList.js +1 -1
  108. package/dist/esm/components/TUIKit/TUIKit.js +1 -1
  109. package/dist/esm/components/TUIManage/TUIManage.js +1 -1
  110. package/dist/esm/components/TUIMessage/MessageBubble.js +1 -1
  111. package/dist/esm/components/TUIMessage/MessageContext.js +1 -1
  112. package/dist/esm/components/TUIMessage/MessageCustom.js +1 -1
  113. package/dist/esm/components/TUIMessage/MessageImage.js +1 -1
  114. package/dist/esm/components/TUIMessage/MessageName.js +1 -1
  115. package/dist/esm/components/TUIMessage/MessagePlugins.js +1 -1
  116. package/dist/esm/components/TUIMessage/MessageRevoke.js +1 -1
  117. package/dist/esm/components/TUIMessage/MessageSystem.js +1 -1
  118. package/dist/esm/components/TUIMessage/MessageText.js +1 -1
  119. package/dist/esm/components/TUIMessage/MessageTip.js +1 -1
  120. package/dist/esm/components/TUIMessage/MessageVideo.js +1 -1
  121. package/dist/esm/components/TUIMessage/TUIMessage.js +1 -1
  122. package/dist/esm/components/TUIMessage/hooks/useMessageHandler.js +1 -1
  123. package/dist/esm/components/TUIMessage/utils/index.js +1 -1
  124. package/dist/esm/components/TUIMessageInput/TUIForward.js +1 -1
  125. package/dist/esm/components/TUIMessageInput/TUIMessageInput.js +1 -1
  126. package/dist/esm/components/TUIMessageInput/TUIMessageInputDefault.js +1 -1
  127. package/dist/esm/components/TUIMessageInput/hooks/useEmojiPicker.js +1 -1
  128. package/dist/esm/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
  129. package/dist/esm/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
  130. package/dist/esm/components/TUIMessageInput/hooks/useUploadPicker.js +1 -1
  131. package/dist/esm/components/TUIMessageList/TUIMessageList.js +1 -1
  132. package/dist/esm/components/TUIProfile/TUIProfileDefault.js +1 -1
  133. package/dist/esm/components/untils.js +1 -1
  134. package/dist/esm/constants.js +1 -1
  135. package/dist/esm/context/ComponentContext.d.ts +2 -0
  136. package/dist/esm/context/TUIChatActionContext.d.ts +3 -14
  137. package/dist/esm/context/TUIChatStateContext.d.ts +2 -0
  138. package/dist/esm/context/TUIConversationContext.js +1 -1
  139. package/dist/esm/index.css +1 -1
  140. package/dist/esm/index.d.css +257 -12
  141. package/dist/esm/index.js +1 -1
  142. package/dist/esm/locales/en/TUIChat.js +1 -1
  143. package/dist/esm/locales/en/TUIContact.js +1 -1
  144. package/dist/esm/locales/en/TUIProfile.js +1 -1
  145. package/dist/esm/locales/index.js +1 -1
  146. package/dist/esm/locales/zh_cn/TUIChat.js +1 -1
  147. package/dist/esm/locales/zh_cn/TUIContact.js +1 -1
  148. package/dist/esm/locales/zh_cn/TUIProfile.js +1 -1
  149. package/dist/esm/server.js +1 -0
  150. package/dist/esm/utils/env.js +1 -0
  151. package/package.json +8 -7
  152. package/rollup.config.js +0 -1
  153. package/scripts/publish-github.js +60 -0
  154. package/scripts/publish-intl-demo.js +14 -0
  155. package/scripts/publish-npm.js +22 -0
  156. package/src/components/Avatar/styles/index.scss +1 -0
  157. package/src/components/ConversationCreate/ConversationCreatGroupDetail.tsx +6 -3
  158. package/src/components/ConversationCreate/ConversationCreateUserSelectList.tsx +5 -1
  159. package/src/components/ConversationCreate/hooks/useConversationCreate.tsx +7 -2
  160. package/src/components/ConversationCreate/styles/conversationGroupTypeInfo.scss +1 -0
  161. package/src/components/ConversationCreate/styles/index.scss +2 -0
  162. package/src/components/ConversationPreview/ConversationPreview.tsx +2 -0
  163. package/src/components/ConversationPreview/ConversationPreviewContent.tsx +57 -9
  164. package/src/components/ConversationPreview/styles/index.scss +4 -2
  165. package/src/components/ConversationPreview/utils.tsx +5 -1
  166. package/src/components/DivWithEdit/styles/index.scss +2 -1
  167. package/src/components/Icon/config.ts +4 -5
  168. package/src/components/Icon/images/chats-selected.svg +6 -0
  169. package/src/components/Icon/images/chats.svg +9 -0
  170. package/src/components/Icon/images/contacts-selected.svg +3 -0
  171. package/src/components/Icon/images/contacts.svg +6 -0
  172. package/src/components/Icon/images/files.png +0 -0
  173. package/src/components/Icon/images/image.png +0 -0
  174. package/src/components/Icon/images/language.svg +3 -0
  175. package/src/components/Icon/images/video.png +0 -0
  176. package/src/components/Model/styles/layout.scss +1 -1
  177. package/src/components/Profile/styles/index.scss +4 -0
  178. package/src/components/TUIChat/TUIChat.tsx +74 -120
  179. package/src/components/TUIChat/TUIChatState.tsx +18 -45
  180. package/src/components/TUIChat/hooks/useHandleMessage.tsx +8 -0
  181. package/src/components/TUIChat/hooks/useHandleMessageList.tsx +2 -41
  182. package/src/components/TUIChat/unitls.ts +0 -29
  183. package/src/components/TUIChatHeader/TUIChatHeaderDefault.tsx +9 -2
  184. package/src/components/TUIContact/TUIContact.tsx +2 -1
  185. package/src/components/TUIContact/TUIContactInfo/TUIContactInfo.tsx +2 -1
  186. package/src/components/TUIContact/TUIContactInfo/basicInfo.tsx +18 -0
  187. package/src/components/TUIContact/TUIContactInfo/friendInfo.tsx +4 -1
  188. package/src/components/TUIContact/TUIContactInfo/index.scss +5 -0
  189. package/src/components/TUIContact/TUIContactList/TUIContactList.tsx +3 -2
  190. package/src/components/TUIContact/TUIContactList/index.scss +5 -0
  191. package/src/components/TUIContact/index.scss +5 -0
  192. package/src/components/TUIConversation/TUIConversation.tsx +1 -4
  193. package/src/components/TUIConversationList/TUIConversationList.tsx +91 -65
  194. package/src/components/TUIConversationList/index.scss +5 -0
  195. package/src/components/TUIKit/TUIKit.tsx +152 -10
  196. package/src/components/TUIKit/styles/h5.scss +34 -0
  197. package/src/components/TUIKit/styles/index.scss +103 -0
  198. package/src/components/TUIKit/styles/reset.scss +20 -0
  199. package/src/components/TUIManage/TUIManage.tsx +59 -35
  200. package/src/components/TUIManage/styles/index.scss +15 -1
  201. package/src/components/TUIMessage/MessageBubble.tsx +20 -3
  202. package/src/components/TUIMessage/MessageCustom.tsx +11 -2
  203. package/src/components/TUIMessage/MessageImage.tsx +2 -1
  204. package/src/components/TUIMessage/MessageName.tsx +1 -1
  205. package/src/components/TUIMessage/MessagePlugins.tsx +4 -2
  206. package/src/components/TUIMessage/MessageRevoke.tsx +2 -2
  207. package/src/components/TUIMessage/MessageText.tsx +25 -3
  208. package/src/components/TUIMessage/MessageVideo.tsx +8 -5
  209. package/src/components/TUIMessage/hooks/useMessageHandler.ts +13 -33
  210. package/src/components/TUIMessage/styles/color.scss +1 -0
  211. package/src/components/TUIMessage/styles/layout.scss +33 -6
  212. package/src/components/TUIMessage/utils/index.ts +1 -1
  213. package/src/components/TUIMessageInput/TUIMessageInputDefault.tsx +2 -2
  214. package/src/components/TUIMessageInput/hooks/useEmojiPicker.tsx +2 -6
  215. package/src/components/TUIMessageInput/hooks/useHandleForwardMessage.tsx +4 -3
  216. package/src/components/TUIMessageInput/hooks/useMessageInputText.tsx +10 -3
  217. package/src/components/TUIMessageInput/hooks/useUploadPicker.tsx +10 -14
  218. package/src/components/TUIMessageInput/styles/color.scss +1 -1
  219. package/src/components/TUIMessageInput/styles/layout.scss +7 -2
  220. package/src/components/TUIMessageList/TUIMessageList.tsx +9 -13
  221. package/src/components/TUIMessageList/index.ts +0 -1
  222. package/src/components/TUIProfile/TUIProfileDefault.tsx +65 -51
  223. package/src/components/TUIProfile/styles/layout.scss +6 -0
  224. package/src/components/untils.ts +9 -0
  225. package/src/constants.ts +9 -1
  226. package/src/context/ComponentContext.tsx +2 -0
  227. package/src/context/TUIChatActionContext.tsx +3 -23
  228. package/src/context/TUIChatStateContext.tsx +2 -0
  229. package/src/context/TUIKitContext.tsx +0 -1
  230. package/src/index.ts +3 -0
  231. package/src/locales/en/TUIChat.ts +2 -1
  232. package/src/locales/en/TUIContact.ts +1 -1
  233. package/src/locales/en/TUIProfile.ts +5 -4
  234. package/src/locales/index.ts +1 -1
  235. package/src/locales/zh_cn/TUIChat.ts +1 -0
  236. package/src/locales/zh_cn/TUIContact.ts +1 -1
  237. package/src/locales/zh_cn/TUIProfile.ts +1 -0
  238. package/src/server.ts +44 -0
  239. package/src/utils/env.ts +5 -0
  240. package/tsconfig.json +1 -0
  241. package/dist/cjs/components/Icon/images/create.png.js +0 -1
  242. package/dist/cjs/components/Icon/images/document.png.js +0 -1
  243. package/dist/cjs/components/TUIChat/hooks/useCreateMessage.d.ts +0 -59
  244. package/dist/cjs/components/TUIChat/hooks/useCreateMessage.js +0 -1
  245. package/dist/cjs/components/TUIChat/hooks/useMessageReceviedListener.js +0 -1
  246. package/dist/cjs/components/TUIMessageList/hooks/useEnrichedMessageList.js +0 -1
  247. package/dist/esm/components/Icon/images/create.png.js +0 -1
  248. package/dist/esm/components/Icon/images/document.png.js +0 -1
  249. package/dist/esm/components/TUIChat/hooks/useCreateMessage.d.ts +0 -59
  250. package/dist/esm/components/TUIChat/hooks/useCreateMessage.js +0 -1
  251. package/dist/esm/components/TUIChat/hooks/useMessageReceviedListener.js +0 -1
  252. package/dist/esm/components/TUIMessageList/hooks/useEnrichedMessageList.js +0 -1
  253. package/src/components/TUIChat/hooks/useCreateMessage.tsx +0 -198
  254. package/src/components/TUIChat/hooks/useMessageReceviedListener.tsx +0 -26
  255. package/src/components/TUIMessageList/hooks/useEnrichedMessageList.tsx +0 -16
package/src/constants.ts CHANGED
@@ -44,7 +44,10 @@ export enum CONSTANT_DISPATCH_TYPE {
44
44
  SET_CURSOR_POS = 'setCursorPos',
45
45
  SET_AUDIO_SOURCE = 'setAudioSource',
46
46
  SET_VIDEO_SOURCE = 'setVideoSource',
47
- UPDATE_UPLOAD_PENDING_MESSAGE_LIST = 'updateUploadPendingMessageList'
47
+ UPDATE_UPLOAD_PENDING_MESSAGE_LIST = 'updateUploadPendingMessageList',
48
+ SET_FIRST_SEND_MESSAGE = 'setFirstSendMessage',
49
+ SET_ACTIVE_MESSAGE_ID ='setActiveMessageID',
50
+
48
51
  }
49
52
 
50
53
  export enum MESSAGE_TYPE {
@@ -84,4 +87,9 @@ export enum MESSAGE_OPERATE {
84
87
  FORWARD = 'forward',
85
88
  }
86
89
 
90
+ export enum TUIKIT_TABBAR {
91
+ CHATS = 'chats',
92
+ CONTACTS = 'contacts',
93
+ }
94
+
87
95
  export default constant;
@@ -15,6 +15,8 @@ export interface ComponentContextValue {
15
15
  MessageContext?: React.ComponentType<MessageContextProps>,
16
16
  InputPlugins?: React.ComponentType<UnknowPorps>,
17
17
  MessagePlugins?: React.ComponentType<UnknowPorps>,
18
+ MessageCustomPlugins?: React.ComponentType<UnknowPorps>,
19
+ MessageTextPlugins?: React.ComponentType<UnknowPorps>,
18
20
  InputQuote?: React.ComponentType<UnknowPorps>,
19
21
  }
20
22
 
@@ -1,32 +1,11 @@
1
1
  import React, { PropsWithChildren, useContext } from 'react';
2
2
  import { Message } from '@tencentcloud/chat';
3
- import type {
4
- CreateCustomMessageProps,
5
- CreateFaceMessageProps,
6
- CreateForwardMessageProps,
7
- CreateLocationMessageProps,
8
- CreateMergerMessageProps,
9
- CreateTextAtMessageProps,
10
- CreateTextMessageProps,
11
- CreateUploadMessageProps,
12
- } from '../components/TUIChat/hooks/useCreateMessage';
3
+ import { IMessageModel } from '@tencentcloud/chat-uikit-engine';
13
4
  import { OperateMessageParams } from '../components/TUIChat/hooks/useHandleMessage';
14
5
 
15
6
  export interface TUIChatActionContextValue {
16
- sendMessage?: (message: Message, options?:any) => Promise<void>,
17
- removeMessage?: (message: Message) => void,
18
7
  updateMessage?: (messages: Array<Message>) => void,
19
- createTextMessage?: (options: CreateTextMessageProps) => Message,
20
- createFaceMessage?: (options: CreateFaceMessageProps) => Message,
21
- createImageMessage?: (options: CreateUploadMessageProps) => Message,
22
- createVideoMessage?: (options: CreateUploadMessageProps) => Message,
23
- createFileMessage?: (options: CreateUploadMessageProps) => Message,
24
- createForwardMessage?: (options: CreateForwardMessageProps) => Message,
25
- createCustomMessage?: (options: CreateCustomMessageProps) => Message,
26
- createAudioMessage?: (options: CreateUploadMessageProps) => Message,
27
- createTextAtMessage?: (options: CreateTextAtMessageProps) => Message,
28
- createLocationMessage?: (options: CreateLocationMessageProps) => Message,
29
- createMergerMessage?: (options: CreateMergerMessageProps) => Message,
8
+ setFirstSendMessage?: (message: IMessageModel) => void,
30
9
  editLocalMessage?: (message: Message) => void,
31
10
  operateMessage?: (data?: OperateMessageParams) => void,
32
11
  loadMore?: () => Promise<void>,
@@ -35,6 +14,7 @@ export interface TUIChatActionContextValue {
35
14
  setVideoSource?: (source: HTMLVideoElement | null) => void,
36
15
  setHighlightedMessageId?: (highlightedMessageId: string) => void,
37
16
  updateUploadPendingMessageList?: (message?:Message) => void,
17
+ setActiveMessageID?: (messageID: string) => void,
38
18
  }
39
19
 
40
20
  export const TUIChatActionContext = React.createContext<
@@ -25,6 +25,8 @@ export interface TUIChatStateContextValue {
25
25
  vidoeSource?: HTMLVideoElement,
26
26
  TUIMessageListConfig?: MessageListProps,
27
27
  uploadPendingMessageList?: Array<Message>,
28
+ firstSendMessage?: Message;
29
+ activeMessageID?: string,
28
30
  }
29
31
 
30
32
  export const TUIChatStateContext = React.createContext<TUIChatStateContextValue>(null);
@@ -17,7 +17,6 @@ export interface TUIKitContextValue {
17
17
  TUIManageShow?: boolean,
18
18
  setTUIManageShow?: React.Dispatch<React.SetStateAction<boolean>>,
19
19
  TUIProfileShow?: boolean,
20
- // 激活 contact 列表数据,右侧显示数据,无参数时,右侧数据默认为空
21
20
  setActiveContact: (UseContactParams?: UseContactParams) => void,
22
21
  setTUIProfileShow?: React.Dispatch<React.SetStateAction<boolean>>,
23
22
  }
package/src/index.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import Server from './server';
2
+
3
+ const TUIChatKit = new Server();
1
4
  export * from './components';
2
5
  export * from './context';
3
6
  export * from './hooks';
@@ -10,7 +10,7 @@ const TUIChat = {
10
10
  'recalled a message': 'recalled a message',
11
11
  'Re-edit': 'Re-edit',
12
12
  'Resend': 'Resend',
13
- 'You': 'You',
13
+ 'You': 'You ',
14
14
  'Recent Chats': 'Recent Chats',
15
15
  'Frequently Contacted': 'Frequently Contacted',
16
16
  'No Result': 'No Result',
@@ -23,5 +23,6 @@ const TUIChat = {
23
23
  'Error deleting message': 'Error deleting message',
24
24
  'The message recall exceeded the time limit (default 2 minutes)': 'The message recall exceeded the time limit (default 2 minutes)',
25
25
  'Error revoke Message': 'Error revoke Message',
26
+ 'Custom message': 'Custom message',
26
27
  };
27
28
  export default TUIChat;
@@ -7,7 +7,7 @@ const TUIContact = {
7
7
  'Accept': 'Accept',
8
8
  'Refuse': 'Refuse',
9
9
  'Handled': 'Handled',
10
- 'Friend': 'Friend',
10
+ 'Friends': 'Friends',
11
11
  'Send Message': 'Send Message',
12
12
  'Signature': 'Signature',
13
13
  'New Contacts': 'New Contacts',
@@ -5,10 +5,11 @@ const TUIProfile = {
5
5
  'Gender': 'Gender',
6
6
  'Male': 'Male',
7
7
  'Female': 'Female',
8
- 'AllowType': 'AllowType',
9
- 'NeedConfirm': 'NeedConfirm',
10
- 'AllowAny': 'AllowAny',
11
- 'DenyAny': 'DenyAny',
8
+ 'AllowType': 'Friend Request',
9
+ 'NeedConfirm': 'Anyone upon Request',
10
+ 'AllowAny': 'Allow any user to add you as friend',
11
+ 'DenyAny': 'Decline friend request from any user',
12
12
  'Birthday': 'Birthday',
13
+ 'Unknow': 'Not set',
13
14
  };
14
15
  export default TUIProfile;
@@ -14,7 +14,7 @@ const resources = {
14
14
 
15
15
  i18next.use(initReactI18next).init({
16
16
  resources,
17
- lng: 'zh',
17
+ lng: 'en',
18
18
  interpolation: {
19
19
  escapeValue: false,
20
20
  },
@@ -22,6 +22,7 @@ const TUIChat = {
22
22
  'Error deleting message': '消息删除失败',
23
23
  'The message recall exceeded the time limit (default 2 minutes)': '消息已超过 2 分钟',
24
24
  'Error revoke Message': '消息撤回失败',
25
+ 'Custom message': '自定义消息',
25
26
  };
26
27
 
27
28
  export default TUIChat;
@@ -7,7 +7,7 @@ const TUIContact = {
7
7
  'Accept': '接受',
8
8
  'Refuse': '拒绝',
9
9
  'Handled': '已处理',
10
- 'Friend': '我的好友',
10
+ 'Friends': '我的好友',
11
11
  'Send Message': '发送消息',
12
12
  'Signature': '个性签名',
13
13
  'Successful application, waiting for the administrator to agree to join the group application': '等待管理员同意',
@@ -10,5 +10,6 @@ const TUIProfile = {
10
10
  'AllowAny': '同意任何用户加好友',
11
11
  'DenyAny': '拒绝任何用户加好友',
12
12
  'Birthday': '生日',
13
+ 'Unknown': '未设置',
13
14
  };
14
15
  export default TUIProfile;
package/src/server.ts ADDED
@@ -0,0 +1,44 @@
1
+ /* eslint-disable import/no-extraneous-dependencies */
2
+ import TUICore, { TUILogin, TUIConstants } from '@tencentcloud/tui-core';
3
+ import TUIChatEngine from '@tencentcloud/chat-uikit-engine';
4
+
5
+ export default class TUIChatKit {
6
+ constructor() {
7
+ TUICore.registerEvent(
8
+ TUIConstants.TUILogin.EVENT.LOGIN_STATE_CHANGED,
9
+ TUIConstants.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS,
10
+ this,
11
+ );
12
+ }
13
+
14
+ /**
15
+ * 监听 TUILogin.login 的成功通知
16
+ * @param { TUIInitParam } params 初始化参数
17
+ */
18
+ public onNotifyEvent(eventName: string, subKey: string) {
19
+ if (eventName === TUIConstants.TUILogin.EVENT.LOGIN_STATE_CHANGED) {
20
+ switch (subKey) {
21
+ case TUIConstants.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS:
22
+ this.login();
23
+ break;
24
+ default:
25
+ // todo
26
+ }
27
+ }
28
+ }
29
+
30
+ /**
31
+ * login 登录
32
+ */
33
+ private login() {
34
+ const {
35
+ chat, SDKAppID, userID, userSig,
36
+ } = TUILogin.getContext();
37
+ TUIChatEngine.login({
38
+ chat,
39
+ SDKAppID,
40
+ userID,
41
+ userSig,
42
+ });
43
+ }
44
+ }
@@ -0,0 +1,5 @@
1
+ import { getPlatform } from '@tencentcloud/universal-api';
2
+
3
+ export const isPC = getPlatform() === 'pc';
4
+
5
+ export const isH5 = getPlatform() === 'h5';
package/tsconfig.json CHANGED
@@ -11,3 +11,4 @@
11
11
  "src"
12
12
  ]
13
13
  }
14
+
@@ -1 +0,0 @@
1
- "use strict";module.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAATeSURBVHgB7Z1PbttGFMa/oVQUTTdC4+7VE9Q3sHKC1iewewIriyK1sxC7iRt0EfUElU/g3MDOCaqeoO46NcBVgwASJ+8xDGAkHPmRojKc4fstLIJDjsnvG84f/nkDKIqiKIqiKIqiKIqifDYMdsTeEzvJB/g+sZjQP9nPDUb0O0JHsUBmLBb/nZvHdfYbTe1o+DVmlMG0zGex/h+Ps7nJJPu3akBxMA9wQidybA3GCBGLX8mEVLJpeb5XtLj/UR4vKY9DSR4JWmLvzM4GD/APLabBis8YnEg2c4r/Po8JhAyxJaMndjwc4JIPZGf1WcfYKH5NtroCHj61R4MB/mrjQLqCzXGxKV0i/n153KVxoWXxudFCJJSN8B+b6n+J+JTHxetzcwwhjQx4eGp/NKaodjZjcU1/XyHH9Qq4yZ6bGwTKLsQv9kFNuM7namdjl5KFz6k38dxcIwJ2JT5TuxEm8a9c4peXMXfj5oiEXYrP1DKAu5r0M65KsxY3a4PD7NwsEQm7Fr/YX7phWfVw6R9/nMYlfw08yp6p+HURXwEk/sQ4Sj9XO1rym1FnHDCrXEsNrtb5zREZMDqz+67Sz70dRMLnFp8RGcB3NCsTLJba1dwOkQE06DpwJImH3F3Gl/iM1IBxZUKO4Bten+IzIgOojz+uWr96G7YBvsVnRN1Q18hX+tSni7QtPg9SaTw0LfcTP1lr7YFMSLQu/lP7gn5SLqhFYTWY7p3aVLJv7wzYRbVDVfSn2wqfrPXKgB3eUq6qokUvIPTGgC40uFX0woCuis9Eb0CXxWeiNqDr4jPRGhCC+EyUBoQiPhOdASGJz0RlQGjiM9EYEKL4TBQGhCo+E7wBIYvPBG/A4CvwCwFBis+EXwUZ/OBM6rj4TLQDsRDEZ4I3gF8pr1gXhPhM8AYU7/Pb4t2kJQl/w8uhiM9s/YlSFyg/qkgRIL18Jtwl1ADPqAGeUQM8owZ4Rg3wjBrgGTXAM2qAZ9QAz6gBnlEDPKMGeEYN8Iwa4Bk1wDNqgGfUAM+oAZ5RAzyjBnhGFqoAqPwinqNooeeMUuv6HFUURUAWrsaR2RABhyhuieEbx3up/I6SAJEBORxBORJ5jORYyROnAf9CgDRayitH0gF6TpLgqDLBFEFr799ftJErLpDBhOcJQE8pzt1WXwFm1aIBHJbMwFGnJY5gfn3Ace4cQ/X177IokuJuKGVaHZ6Mr4JTO0XP+ObMnmyYJyCFELEBqy8xd3VH6UBm3/5sowlhfx9lFMm0Kq2IIJw728xPEBuQpSarehf/wzHlX+CyDyaw+APg0hVFjNZf1IkSXzt6+t6Z3TRhQ4bIgnffhasdU0bGqkrn0n97br5DDWrfilitcWjdozwO1/WC2oSrmHpHfC58TiTWfFPkeKp6HqEmzSZw+MUemwR/3rcdZb5cA4tkjb85wmIoQf6KeXF4lD+gcQ4HrRVMykOl/5BK/0vUpPkUJkIT+gCV/p9un5kFGtD4bujtb2bBrlvhTacY4XPfRnxm65mninkFElyZkOcOa8aS28Nt58VpbeovjpNJpeEodiMksy3VodW514qrwRSN1iw2I/gTWBL/YvUG8zY7E60acBcesFADc0D/oJh5gw5+3OXJPO/CpTyxyHKDJS1fcy8uljD9iqIoiqIoikK8A1GVFQ/s/hAOAAAAAElFTkSuQmCC";
@@ -1 +0,0 @@
1
- "use strict";module.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAA4CAYAAABez76GAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHxSURBVHgB7du9TcNAGMbx5z2MlDIjMAASIDFAmADo+IiEgcZUsAErmAo6TIOggw1YAIGo6AgbmC4F+OUMDTR5iJw4Ofz+ikiRrCj+5xLfWTnBD3F81O6j30ZFLbTyLEtz/ANSPmzvH+xIUaT+aeU4P176MVJdz7KzHgImW3ESO8E5xkLzSGUp5EjOiR5ibKT9Prb49XD+JBYxXp1unHQQKIc6CI4RqHoC+VG0vXuwgwDVFcgPIs26e0lwI0m6u4miVpqXUwBMikiOoriLILd/ubpOINB08Cfdm1WssEi1fcWmjZ8hz/1lCtLYQN+UTnEaHogvrRoeiLNARMQP8ZdlRc8Px/BuXwg6qGhgoPJS+KGychXoanwjTuYi0Ycqt3EGfsVEcRFqnNLXe1c5QQUDAymK4O8KVj2HwSNI3CoCJyKVFsnsR9qvwpMXUU0F8obAqKCMU+l+F72KlVNy/zGkjVywweZBlAUiLBBhgQgLRFggwgIRFoiwQIQFIiwQYYEIC0RYIMICERaIsECEBSIsEGGBCAtEWCDCAhEWiLBAhAUiLBBhgQgLRFggogx0h8ZSumfEQYvyP3wN3a/hUnbMzNPj/fP84vIrBAsCjHBT79AEtdH8Q93mZXZ6zY789abW4qN2awTbwqdZH638Zogt65/EmnyoEjPYwwAAAABJRU5ErkJggg==";
@@ -1,59 +0,0 @@
1
- import _tencentcloud_chat__default, { Conversation, Message } from '@tencentcloud/chat';
2
-
3
- interface BasicCreateMessageProps {
4
- needReadReceipt?: boolean;
5
- priority?: _tencentcloud_chat__default.TYPES;
6
- onProgress?: (num: number) => void;
7
- cloudCustomData?: string;
8
- receiverList?: Array<string>;
9
- }
10
- interface CreateTextMessageProps extends BasicCreateMessageProps {
11
- payload: {
12
- text: string;
13
- };
14
- }
15
- interface CreateFaceMessageProps extends BasicCreateMessageProps {
16
- payload: {
17
- index: number;
18
- data: string;
19
- };
20
- }
21
- interface CreateUploadMessageProps extends BasicCreateMessageProps {
22
- payload: {
23
- file: HTMLInputElement | File;
24
- };
25
- }
26
- interface CreateForwardMessageProps extends BasicCreateMessageProps {
27
- conversation: Conversation;
28
- message: Message;
29
- }
30
- interface CreateCustomMessageProps extends BasicCreateMessageProps {
31
- payload: {
32
- data: string;
33
- description: string;
34
- extension: string;
35
- };
36
- }
37
- interface CreateTextAtMessageProps extends BasicCreateMessageProps {
38
- payload: {
39
- text: string;
40
- atUserList: Array<string>;
41
- };
42
- }
43
- interface CreateLocationMessageProps extends BasicCreateMessageProps {
44
- payload: {
45
- description: string;
46
- longitude: number;
47
- latitude: number;
48
- };
49
- }
50
- interface CreateMergerMessageProps extends BasicCreateMessageProps {
51
- payload: {
52
- messageList: Array<Message>;
53
- title: string;
54
- abstractList: string;
55
- compatibleText: string;
56
- };
57
- }
58
-
59
- export { BasicCreateMessageProps, CreateCustomMessageProps, CreateFaceMessageProps, CreateForwardMessageProps, CreateLocationMessageProps, CreateMergerMessageProps, CreateTextAtMessageProps, CreateTextMessageProps, CreateUploadMessageProps };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),s=require("react");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=a(require("@tencentcloud/chat"));exports.useCreateMessage=function(a){var r=a.chat,n=a.conversation,u=a.to,c=void 0===u?"":u,o=a.type,i=a.cloudCustomData,g=n.type,l=n.userProfile,_=n.groupProfile,f=o||g,M=s.useState({to:c||(f===t.default.TYPES.CONV_C2C?null==l?void 0:l.userID:null==_?void 0:_.groupID),conversationType:f,cloudCustomData:i}),C=M[0],d=M[1];return s.useEffect((function(){C.cloudCustomData=i,d(C)}),[i]),{createTextMessage:s.useCallback((function(s){return r.createTextMessage(e.__assign(e.__assign({},C),s))}),[r]),createFaceMessage:s.useCallback((function(s){return r.createFaceMessage(e.__assign(e.__assign({},C),s))}),[r]),createImageMessage:s.useCallback((function(s){return r.createImageMessage(e.__assign(e.__assign({},C),s))}),[r]),createVideoMessage:s.useCallback((function(s){return r.createVideoMessage(e.__assign(e.__assign({},C),s))}),[r]),createFileMessage:s.useCallback((function(s){return r.createFileMessage(e.__assign(e.__assign({},C),s))}),[r]),createForwardMessage:s.useCallback((function(s){var a=s.conversation,n=s.message,u=e.__rest(s,["conversation","message"]),c=a.type,o=a.userProfile,i=a.groupProfile,g=c===t.default.TYPES.CONV_C2C?null==o?void 0:o.userID:null==i?void 0:i.groupID;return r.createForwardMessage(e.__assign({to:g,conversationType:c,payload:n},u))}),[r]),createCustomMessage:s.useCallback((function(s){return r.createCustomMessage(e.__assign(e.__assign({},C),s))}),[r]),createAudioMessage:s.useCallback((function(s){return r.createAudioMessage(e.__assign(e.__assign({},C),s))}),[r]),createTextAtMessage:s.useCallback((function(s){return r.createTextAtMessage(e.__assign(e.__assign({},C),s))}),[r]),createLocationMessage:s.useCallback((function(s){return r.createLocationMessage(e.__assign(e.__assign({},C),s))}),[r]),createMergerMessage:s.useCallback((function(s){return r.createMergerMessage(e.__assign(e.__assign({},C),s))}),[r])}};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@tencentcloud/chat"),r=require("../../../context/TUIKitContext.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("tslib"),require("react/jsx-runtime"),require("../../../context/TUIMessageContext.js");var u=n(t);exports.useMessageReceviedListener=function(t,n){var i=this,s=r.useTUIKitContext("useMessageReceviedListener").chat;e.useEffect((function(){var e=function(e){n&&"function"==typeof n?n(t,e):t(e.data)};return s.on(u.default.EVENT.MESSAGE_RECEIVED,e,i),function(){s.off(u.default.EVENT.MESSAGE_RECEIVED,e,i)}}),[s])};
@@ -1 +0,0 @@
1
- "use strict";module.exports=function(s){return{messageList:s.messageList}};
@@ -1 +0,0 @@
1
- var A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAATeSURBVHgB7Z1PbttGFMa/oVQUTTdC4+7VE9Q3sHKC1iewewIriyK1sxC7iRt0EfUElU/g3MDOCaqeoO46NcBVgwASJ+8xDGAkHPmRojKc4fstLIJDjsnvG84f/nkDKIqiKIqiKIqiKIqifDYMdsTeEzvJB/g+sZjQP9nPDUb0O0JHsUBmLBb/nZvHdfYbTe1o+DVmlMG0zGex/h+Ps7nJJPu3akBxMA9wQidybA3GCBGLX8mEVLJpeb5XtLj/UR4vKY9DSR4JWmLvzM4GD/APLabBis8YnEg2c4r/Po8JhAyxJaMndjwc4JIPZGf1WcfYKH5NtroCHj61R4MB/mrjQLqCzXGxKV0i/n153KVxoWXxudFCJJSN8B+b6n+J+JTHxetzcwwhjQx4eGp/NKaodjZjcU1/XyHH9Qq4yZ6bGwTKLsQv9kFNuM7namdjl5KFz6k38dxcIwJ2JT5TuxEm8a9c4peXMXfj5oiEXYrP1DKAu5r0M65KsxY3a4PD7NwsEQm7Fr/YX7phWfVw6R9/nMYlfw08yp6p+HURXwEk/sQ4Sj9XO1rym1FnHDCrXEsNrtb5zREZMDqz+67Sz70dRMLnFp8RGcB3NCsTLJba1dwOkQE06DpwJImH3F3Gl/iM1IBxZUKO4Bten+IzIgOojz+uWr96G7YBvsVnRN1Q18hX+tSni7QtPg9SaTw0LfcTP1lr7YFMSLQu/lP7gn5SLqhFYTWY7p3aVLJv7wzYRbVDVfSn2wqfrPXKgB3eUq6qokUvIPTGgC40uFX0woCuis9Eb0CXxWeiNqDr4jPRGhCC+EyUBoQiPhOdASGJz0RlQGjiM9EYEKL4TBQGhCo+E7wBIYvPBG/A4CvwCwFBis+EXwUZ/OBM6rj4TLQDsRDEZ4I3gF8pr1gXhPhM8AYU7/Pb4t2kJQl/w8uhiM9s/YlSFyg/qkgRIL18Jtwl1ADPqAGeUQM8owZ4Rg3wjBrgGTXAM2qAZ9QAz6gBnlEDPKMGeEYN8Iwa4Bk1wDNqgGfUAM+oAZ5RAzyjBnhGFqoAqPwinqNooeeMUuv6HFUURUAWrsaR2RABhyhuieEbx3up/I6SAJEBORxBORJ5jORYyROnAf9CgDRayitH0gF6TpLgqDLBFEFr799ftJErLpDBhOcJQE8pzt1WXwFm1aIBHJbMwFGnJY5gfn3Ace4cQ/X177IokuJuKGVaHZ6Mr4JTO0XP+ObMnmyYJyCFELEBqy8xd3VH6UBm3/5sowlhfx9lFMm0Kq2IIJw728xPEBuQpSarehf/wzHlX+CyDyaw+APg0hVFjNZf1IkSXzt6+t6Z3TRhQ4bIgnffhasdU0bGqkrn0n97br5DDWrfilitcWjdozwO1/WC2oSrmHpHfC58TiTWfFPkeKp6HqEmzSZw+MUemwR/3rcdZb5cA4tkjb85wmIoQf6KeXF4lD+gcQ4HrRVMykOl/5BK/0vUpPkUJkIT+gCV/p9un5kFGtD4bujtb2bBrlvhTacY4XPfRnxm65mninkFElyZkOcOa8aS28Nt58VpbeovjpNJpeEodiMksy3VodW514qrwRSN1iw2I/gTWBL/YvUG8zY7E60acBcesFADc0D/oJh5gw5+3OXJPO/CpTyxyHKDJS1fcy8uljD9iqIoiqIoikK8A1GVFQ/s/hAOAAAAAElFTkSuQmCC";export{A as default};
@@ -1 +0,0 @@
1
- var A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAAA4CAYAAABez76GAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHxSURBVHgB7du9TcNAGMbx5z2MlDIjMAASIDFAmADo+IiEgcZUsAErmAo6TIOggw1YAIGo6AgbmC4F+OUMDTR5iJw4Ofz+ikiRrCj+5xLfWTnBD3F81O6j30ZFLbTyLEtz/ANSPmzvH+xIUaT+aeU4P176MVJdz7KzHgImW3ESO8E5xkLzSGUp5EjOiR5ibKT9Prb49XD+JBYxXp1unHQQKIc6CI4RqHoC+VG0vXuwgwDVFcgPIs26e0lwI0m6u4miVpqXUwBMikiOoriLILd/ubpOINB08Cfdm1WssEi1fcWmjZ8hz/1lCtLYQN+UTnEaHogvrRoeiLNARMQP8ZdlRc8Px/BuXwg6qGhgoPJS+KGychXoanwjTuYi0Ycqt3EGfsVEcRFqnNLXe1c5QQUDAymK4O8KVj2HwSNI3CoCJyKVFsnsR9qvwpMXUU0F8obAqKCMU+l+F72KlVNy/zGkjVywweZBlAUiLBBhgQgLRFggwgIRFoiwQIQFIiwQYYEIC0RYIMICERaIsECEBSIsEGGBCAtEWCDCAhEWiLBAhAUiLBBhgQgLRFggogx0h8ZSumfEQYvyP3wN3a/hUnbMzNPj/fP84vIrBAsCjHBT79AEtdH8Q93mZXZ6zY789abW4qN2awTbwqdZH638Zogt65/EmnyoEjPYwwAAAABJRU5ErkJggg==";export{A as default};
@@ -1,59 +0,0 @@
1
- import _tencentcloud_chat__default, { Conversation, Message } from '@tencentcloud/chat';
2
-
3
- interface BasicCreateMessageProps {
4
- needReadReceipt?: boolean;
5
- priority?: _tencentcloud_chat__default.TYPES;
6
- onProgress?: (num: number) => void;
7
- cloudCustomData?: string;
8
- receiverList?: Array<string>;
9
- }
10
- interface CreateTextMessageProps extends BasicCreateMessageProps {
11
- payload: {
12
- text: string;
13
- };
14
- }
15
- interface CreateFaceMessageProps extends BasicCreateMessageProps {
16
- payload: {
17
- index: number;
18
- data: string;
19
- };
20
- }
21
- interface CreateUploadMessageProps extends BasicCreateMessageProps {
22
- payload: {
23
- file: HTMLInputElement | File;
24
- };
25
- }
26
- interface CreateForwardMessageProps extends BasicCreateMessageProps {
27
- conversation: Conversation;
28
- message: Message;
29
- }
30
- interface CreateCustomMessageProps extends BasicCreateMessageProps {
31
- payload: {
32
- data: string;
33
- description: string;
34
- extension: string;
35
- };
36
- }
37
- interface CreateTextAtMessageProps extends BasicCreateMessageProps {
38
- payload: {
39
- text: string;
40
- atUserList: Array<string>;
41
- };
42
- }
43
- interface CreateLocationMessageProps extends BasicCreateMessageProps {
44
- payload: {
45
- description: string;
46
- longitude: number;
47
- latitude: number;
48
- };
49
- }
50
- interface CreateMergerMessageProps extends BasicCreateMessageProps {
51
- payload: {
52
- messageList: Array<Message>;
53
- title: string;
54
- abstractList: string;
55
- compatibleText: string;
56
- };
57
- }
58
-
59
- export { BasicCreateMessageProps, CreateCustomMessageProps, CreateFaceMessageProps, CreateForwardMessageProps, CreateLocationMessageProps, CreateMergerMessageProps, CreateTextAtMessageProps, CreateTextMessageProps, CreateUploadMessageProps };
@@ -1 +0,0 @@
1
- import{__assign as e,__rest as t}from"tslib";import{useState as r,useEffect as a,useCallback as o}from"react";import s from"@tencentcloud/chat";function n(n){var c=n.chat,u=n.conversation,i=n.to,g=void 0===i?"":i,M=n.type,f=n.cloudCustomData,l=u.type,d=u.userProfile,m=u.groupProfile,p=M||l,v=r({to:g||(p===s.TYPES.CONV_C2C?null==d?void 0:d.userID:null==m?void 0:m.groupID),conversationType:p,cloudCustomData:f}),C=v[0],T=v[1];return a((function(){C.cloudCustomData=f,T(C)}),[f]),{createTextMessage:o((function(t){return c.createTextMessage(e(e({},C),t))}),[c]),createFaceMessage:o((function(t){return c.createFaceMessage(e(e({},C),t))}),[c]),createImageMessage:o((function(t){return c.createImageMessage(e(e({},C),t))}),[c]),createVideoMessage:o((function(t){return c.createVideoMessage(e(e({},C),t))}),[c]),createFileMessage:o((function(t){return c.createFileMessage(e(e({},C),t))}),[c]),createForwardMessage:o((function(r){var a=r.conversation,o=r.message,n=t(r,["conversation","message"]),u=a.type,i=a.userProfile,g=a.groupProfile,M=u===s.TYPES.CONV_C2C?null==i?void 0:i.userID:null==g?void 0:g.groupID;return c.createForwardMessage(e({to:M,conversationType:u,payload:o},n))}),[c]),createCustomMessage:o((function(t){return c.createCustomMessage(e(e({},C),t))}),[c]),createAudioMessage:o((function(t){return c.createAudioMessage(e(e({},C),t))}),[c]),createTextAtMessage:o((function(t){return c.createTextAtMessage(e(e({},C),t))}),[c]),createLocationMessage:o((function(t){return c.createLocationMessage(e(e({},C),t))}),[c]),createMergerMessage:o((function(t){return c.createMergerMessage(e(e({},C),t))}),[c])}}export{n as useCreateMessage};
@@ -1 +0,0 @@
1
- import{useEffect as t}from"react";import o from"@tencentcloud/chat";import{useTUIKitContext as e}from"../../../context/TUIKitContext.js";import"tslib";import"react/jsx-runtime";import"../../../context/TUIMessageContext.js";function n(n,r){var i=this,c=e("useMessageReceviedListener").chat;t((function(){var t=function(t){r&&"function"==typeof r?r(n,t):n(t.data)};return c.on(o.EVENT.MESSAGE_RECEIVED,t,i),function(){c.off(o.EVENT.MESSAGE_RECEIVED,t,i)}}),[c])}export{n as useMessageReceviedListener};
@@ -1 +0,0 @@
1
- function e(e){return{messageList:e.messageList}}export{e as default};
@@ -1,198 +0,0 @@
1
- import { useCallback, useEffect, useState } from 'react';
2
- import TencentCloudChat, { ChatSDK, Conversation, Message } from '@tencentcloud/chat';
3
-
4
- export interface CreateMessageProps {
5
- chat?: ChatSDK,
6
- conversation?: Conversation,
7
- to?: string,
8
- type?: TencentCloudChat.TYPES,
9
- cloudCustomData?: string,
10
- }
11
- export interface BasicCreateMessageProps {
12
- needReadReceipt?: boolean,
13
- priority?: TencentCloudChat.TYPES,
14
- onProgress?: (num:number) => void,
15
- cloudCustomData?: string;
16
- receiverList?: Array<string>;
17
- }
18
-
19
- export interface CreateTextMessageProps extends BasicCreateMessageProps{
20
- payload: {
21
- text: string
22
- }
23
- }
24
-
25
- export interface CreateFaceMessageProps extends BasicCreateMessageProps{
26
- payload: {
27
- index: number,
28
- data: string,
29
- }
30
- }
31
-
32
- export interface CreateUploadMessageProps extends BasicCreateMessageProps{
33
- payload: {
34
- file: HTMLInputElement | File,
35
- }
36
- }
37
-
38
- export interface CreateForwardMessageProps extends BasicCreateMessageProps{
39
- conversation: Conversation,
40
- message: Message
41
- }
42
-
43
- export interface CreateCustomMessageProps extends BasicCreateMessageProps{
44
- payload: {
45
- data: string,
46
- description: string,
47
- extension: string,
48
- }
49
- }
50
-
51
- export interface CreateTextAtMessageProps extends BasicCreateMessageProps{
52
- payload: {
53
- text: string,
54
- atUserList: Array<string>,
55
- }
56
- }
57
-
58
- export interface CreateLocationMessageProps extends BasicCreateMessageProps{
59
- payload: {
60
- description: string,
61
- longitude: number,
62
- latitude: number,
63
- }
64
- }
65
-
66
- export interface CreateMergerMessageProps extends BasicCreateMessageProps{
67
- payload: {
68
- messageList: Array<Message>,
69
- title: string,
70
- abstractList: string,
71
- compatibleText: string,
72
- }
73
- }
74
-
75
- export function useCreateMessage<T extends CreateMessageProps>(props:T) {
76
- const {
77
- chat,
78
- conversation,
79
- to = '',
80
- type: propType,
81
- cloudCustomData,
82
- } = props;
83
-
84
- const { type: conversationType, userProfile, groupProfile } = conversation;
85
-
86
- const type = propType || conversationType;
87
-
88
- const [basicConfig, setBasicConfig] = useState({
89
- to: to || (type === TencentCloudChat.TYPES.CONV_C2C ? userProfile?.userID : groupProfile?.groupID),
90
- conversationType: type,
91
- cloudCustomData,
92
- });
93
-
94
- useEffect(() => {
95
- basicConfig.cloudCustomData = cloudCustomData;
96
- setBasicConfig(basicConfig);
97
- }, [cloudCustomData]);
98
-
99
- const createTextMessage = useCallback((params: CreateTextMessageProps) => chat.createTextMessage({
100
- ...basicConfig,
101
- ...params,
102
- }), [chat]);
103
-
104
- const createFaceMessage = useCallback((params: CreateFaceMessageProps) => chat.createFaceMessage({
105
- ...basicConfig,
106
- ...params,
107
- }), [chat]);
108
-
109
- const createImageMessage = useCallback((
110
- params: CreateUploadMessageProps,
111
- ) => chat.createImageMessage({
112
- ...basicConfig,
113
- ...params,
114
- }), [chat]);
115
-
116
- const createVideoMessage = useCallback((
117
- params: CreateUploadMessageProps,
118
- ) => chat.createVideoMessage({
119
- ...basicConfig,
120
- ...params,
121
- }), [chat]);
122
-
123
- const createFileMessage = useCallback((
124
- params: CreateUploadMessageProps,
125
- ) => chat.createFileMessage({
126
- ...basicConfig,
127
- ...params,
128
- }), [chat]);
129
-
130
- const createForwardMessage = useCallback((
131
- params: CreateForwardMessageProps,
132
- ) => {
133
- const { conversation: forwardConversation, message, ...other } = params;
134
- const {
135
- type: forwardType,
136
- userProfile: forwardUserProfile,
137
- groupProfile: forwardGroupProfile,
138
- } = forwardConversation;
139
- const forwardTo = forwardType === TencentCloudChat.TYPES.CONV_C2C
140
- ? forwardUserProfile?.userID : forwardGroupProfile?.groupID;
141
- return chat.createForwardMessage({
142
- to: forwardTo,
143
- conversationType: forwardType,
144
- payload: message,
145
- ...other,
146
- });
147
- }, [chat]);
148
-
149
- const createCustomMessage = useCallback((
150
- params: CreateCustomMessageProps,
151
- // ChatSDK < V2.26.0 createCustomMessage ts declaration error
152
- ) => (chat as any).createCustomMessage({
153
- ...basicConfig,
154
- ...params,
155
- }), [chat]);
156
-
157
- const createAudioMessage = useCallback((
158
- params: CreateUploadMessageProps,
159
- ) => chat.createAudioMessage({
160
- ...basicConfig,
161
- ...params,
162
- }), [chat]);
163
-
164
- const createTextAtMessage = useCallback((
165
- params: CreateTextAtMessageProps,
166
- ) => chat.createTextAtMessage({
167
- ...basicConfig,
168
- ...params,
169
- }), [chat]);
170
-
171
- const createLocationMessage = useCallback((
172
- params: CreateLocationMessageProps,
173
- ) => chat.createLocationMessage({
174
- ...basicConfig,
175
- ...params,
176
- }), [chat]);
177
-
178
- const createMergerMessage = useCallback((
179
- params: CreateMergerMessageProps,
180
- ) => chat.createMergerMessage({
181
- ...basicConfig,
182
- ...params,
183
- }), [chat]);
184
-
185
- return {
186
- createTextMessage,
187
- createFaceMessage,
188
- createImageMessage,
189
- createVideoMessage,
190
- createFileMessage,
191
- createForwardMessage,
192
- createCustomMessage,
193
- createAudioMessage,
194
- createTextAtMessage,
195
- createLocationMessage,
196
- createMergerMessage,
197
- };
198
- }
@@ -1,26 +0,0 @@
1
- import { useEffect } from 'react';
2
- import TencentCloudChat, { Message } from '@tencentcloud/chat';
3
- import { useTUIKitContext } from '../../../context';
4
-
5
- export function useMessageReceviedListener(
6
- setMessageList:(event?: Array<Message>) => void,
7
- customHandler?: (
8
- updateMessage: (event?: Array<Message>) => void,
9
- event: any,
10
- ) => void,
11
- ) {
12
- const { chat } = useTUIKitContext('useMessageReceviedListener');
13
- useEffect(() => {
14
- const handleMessageRecevied = (event: any) => {
15
- if (customHandler && typeof customHandler === 'function') {
16
- customHandler(setMessageList, event);
17
- } else {
18
- setMessageList(event.data);
19
- }
20
- };
21
- chat.on(TencentCloudChat.EVENT.MESSAGE_RECEIVED, handleMessageRecevied, this);
22
- return () => {
23
- chat.off(TencentCloudChat.EVENT.MESSAGE_RECEIVED, handleMessageRecevied, this);
24
- };
25
- }, [chat]);
26
- }
@@ -1,16 +0,0 @@
1
- import React from 'react';
2
- import { Message } from '@tencentcloud/chat';
3
-
4
- interface EnrichedMessageListProps {
5
- messageList: Array<Message>;
6
- }
7
-
8
- function useEnrichedMessageList(props:EnrichedMessageListProps) {
9
- const { messageList } = props;
10
-
11
- return {
12
- messageList,
13
- };
14
- }
15
-
16
- export default useEnrichedMessageList;