@tencentcloud/chat-uikit-react 2.2.6 → 2.2.7

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 (215) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cjs/assets/fonts/iconfont.ttf +0 -0
  3. package/dist/cjs/assets/fonts/iconfont.woff +0 -0
  4. package/dist/cjs/assets/fonts/iconfont.woff2 +0 -0
  5. package/dist/cjs/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
  6. package/dist/cjs/components/ConversationPreview/ConversationPreviewContent.js +1 -1
  7. package/dist/cjs/components/ConversationPreview/utils.js +1 -1
  8. package/dist/cjs/components/ConversationSearch/ConversationSearchResult.js +1 -1
  9. package/dist/cjs/components/Icon/config.js +1 -1
  10. package/dist/cjs/components/Icon/images/video-call.svg.js +1 -0
  11. package/dist/cjs/components/Icon/images/voice-call.svg.js +1 -0
  12. package/dist/cjs/components/Icon/type.d.ts +3 -1
  13. package/dist/cjs/components/Icon/type.js +1 -1
  14. package/dist/cjs/components/TUIChat/TUIChat.d.ts +3 -2
  15. package/dist/cjs/components/TUIChat/TUIChat.js +1 -1
  16. package/dist/cjs/components/TUIChat/TUIChatState.js +1 -1
  17. package/dist/cjs/components/TUIChat/index.js +1 -0
  18. package/dist/cjs/components/TUIChat/server.js +1 -0
  19. package/dist/cjs/components/TUIChat/utils.js +1 -0
  20. package/dist/cjs/components/TUIChatHeader/TUIChatHeader.d.ts +1 -0
  21. package/dist/cjs/components/TUIChatHeader/TUIChatHeader.js +1 -1
  22. package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.d.ts +2 -1
  23. package/dist/cjs/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
  24. package/dist/cjs/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
  25. package/dist/cjs/components/TUIContact/hooks/useTUIContact.js +1 -1
  26. package/dist/cjs/components/TUIMessage/MessageAvatar.js +1 -1
  27. package/dist/cjs/components/TUIMessage/MessageCustom.js +1 -1
  28. package/dist/cjs/components/TUIMessage/MessageStatus.js +1 -1
  29. package/dist/cjs/components/TUIMessage/hooks/useMessageHandler.js +1 -1
  30. package/dist/cjs/components/TUIMessage/hooks/useMessageReply.js +1 -1
  31. package/dist/cjs/components/TUIMessage/utils/index.js +1 -1
  32. package/dist/cjs/components/TUIMessageInput/InputPluginsDefalut.js +1 -1
  33. package/dist/cjs/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
  34. package/dist/cjs/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
  35. package/dist/cjs/components/TUIMessageInput/hooks/useUploadPicker.js +1 -1
  36. package/dist/cjs/components/TUIMessageList/hooks/useMessageListElement.js +1 -1
  37. package/dist/cjs/components/TUIProfile/TUIProfileDefault.js +1 -1
  38. package/dist/cjs/components/{untils.js → utils.js} +1 -1
  39. package/dist/cjs/context/LanguageContext.js +1 -1
  40. package/dist/cjs/context/TUIChatActionContext.d.ts +2 -1
  41. package/dist/cjs/context/TUIConversationContext.js +1 -1
  42. package/dist/cjs/context/ThemeContext.js +1 -1
  43. package/dist/cjs/context/UIKitContext.d.ts +2 -2
  44. package/dist/cjs/context/UIKitContext.js +1 -1
  45. package/dist/cjs/index.css +1 -1
  46. package/dist/cjs/index.d.css +589 -259
  47. package/dist/cjs/index.js +1 -1
  48. package/dist/cjs/locales/en-US/index.js +1 -1
  49. package/dist/cjs/locales/index.js +1 -1
  50. package/dist/cjs/locales/ja-JP/index.js +1 -1
  51. package/dist/cjs/locales/ko-KR/index.js +1 -1
  52. package/dist/cjs/locales/zh-CN/index.js +1 -1
  53. package/dist/cjs/locales/zh-TW/TUIChat.js +1 -0
  54. package/dist/cjs/locales/zh-TW/TUIContact.js +1 -0
  55. package/dist/cjs/locales/zh-TW/TUIConversation.js +1 -0
  56. package/dist/cjs/locales/zh-TW/TUIProfile.js +1 -0
  57. package/dist/cjs/locales/zh-TW/index.js +1 -0
  58. package/dist/esm/assets/fonts/iconfont.ttf +0 -0
  59. package/dist/esm/assets/fonts/iconfont.woff +0 -0
  60. package/dist/esm/assets/fonts/iconfont.woff2 +0 -0
  61. package/dist/esm/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
  62. package/dist/esm/components/ConversationPreview/ConversationPreviewContent.js +1 -1
  63. package/dist/esm/components/ConversationPreview/utils.js +1 -1
  64. package/dist/esm/components/ConversationSearch/ConversationSearchResult.js +1 -1
  65. package/dist/esm/components/Icon/config.js +1 -1
  66. package/dist/esm/components/Icon/images/video-call.svg.js +1 -0
  67. package/dist/esm/components/Icon/images/voice-call.svg.js +1 -0
  68. package/dist/esm/components/Icon/type.d.ts +3 -1
  69. package/dist/esm/components/Icon/type.js +1 -1
  70. package/dist/esm/components/TUIChat/TUIChat.d.ts +3 -2
  71. package/dist/esm/components/TUIChat/TUIChat.js +1 -1
  72. package/dist/esm/components/TUIChat/TUIChatState.js +1 -1
  73. package/dist/esm/components/TUIChat/index.js +1 -0
  74. package/dist/esm/components/TUIChat/server.js +1 -0
  75. package/dist/esm/components/TUIChat/utils.js +1 -0
  76. package/dist/esm/components/TUIChatHeader/TUIChatHeader.d.ts +1 -0
  77. package/dist/esm/components/TUIChatHeader/TUIChatHeader.js +1 -1
  78. package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.d.ts +2 -1
  79. package/dist/esm/components/TUIChatHeader/TUIChatHeaderDefault.js +1 -1
  80. package/dist/esm/components/TUIContact/TUIContactList/TUIContactList.js +1 -1
  81. package/dist/esm/components/TUIContact/hooks/useTUIContact.js +1 -1
  82. package/dist/esm/components/TUIMessage/MessageAvatar.js +1 -1
  83. package/dist/esm/components/TUIMessage/MessageCustom.js +1 -1
  84. package/dist/esm/components/TUIMessage/MessageStatus.js +1 -1
  85. package/dist/esm/components/TUIMessage/hooks/useMessageHandler.js +1 -1
  86. package/dist/esm/components/TUIMessage/hooks/useMessageReply.js +1 -1
  87. package/dist/esm/components/TUIMessage/utils/index.js +1 -1
  88. package/dist/esm/components/TUIMessageInput/InputPluginsDefalut.js +1 -1
  89. package/dist/esm/components/TUIMessageInput/hooks/useHandleForwardMessage.js +1 -1
  90. package/dist/esm/components/TUIMessageInput/hooks/useMessageInputText.js +1 -1
  91. package/dist/esm/components/TUIMessageInput/hooks/useUploadPicker.js +1 -1
  92. package/dist/esm/components/TUIMessageList/hooks/useMessageListElement.js +1 -1
  93. package/dist/esm/components/TUIProfile/TUIProfileDefault.js +1 -1
  94. package/dist/esm/components/utils.js +1 -0
  95. package/dist/esm/context/LanguageContext.js +1 -1
  96. package/dist/esm/context/TUIChatActionContext.d.ts +2 -1
  97. package/dist/esm/context/TUIConversationContext.js +1 -1
  98. package/dist/esm/context/ThemeContext.js +1 -1
  99. package/dist/esm/context/UIKitContext.d.ts +2 -2
  100. package/dist/esm/context/UIKitContext.js +1 -1
  101. package/dist/esm/index.css +1 -1
  102. package/dist/esm/index.d.css +589 -259
  103. package/dist/esm/index.js +1 -1
  104. package/dist/esm/locales/en-US/index.js +1 -1
  105. package/dist/esm/locales/index.js +1 -1
  106. package/dist/esm/locales/ja-JP/index.js +1 -1
  107. package/dist/esm/locales/ko-KR/index.js +1 -1
  108. package/dist/esm/locales/zh-CN/index.js +1 -1
  109. package/dist/esm/locales/zh-TW/TUIChat.js +1 -0
  110. package/dist/esm/locales/zh-TW/TUIContact.js +1 -0
  111. package/dist/esm/locales/zh-TW/TUIConversation.js +1 -0
  112. package/dist/esm/locales/zh-TW/TUIProfile.js +1 -0
  113. package/dist/esm/locales/zh-TW/index.js +1 -0
  114. package/package.json +2 -1
  115. package/rollup.config.js +1 -1
  116. package/src/assets/fonts/iconfont.ttf +0 -0
  117. package/src/assets/fonts/iconfont.woff +0 -0
  118. package/src/assets/fonts/iconfont.woff2 +0 -0
  119. package/src/components/Avatar/styles/index.scss +11 -4
  120. package/src/components/Checkbox/styles/color.scss +17 -6
  121. package/src/components/ConversationCreate/hooks/useConversationCreate.tsx +5 -5
  122. package/src/components/ConversationCreate/styles/ConversationCreatGroupDetail.scss +7 -16
  123. package/src/components/ConversationCreate/styles/conversationCreateSelectView.scss +13 -8
  124. package/src/components/ConversationCreate/styles/conversationGroupTypeInfo.scss +20 -21
  125. package/src/components/ConversationCreate/styles/index.scss +30 -17
  126. package/src/components/ConversationPreview/ConversationPreviewContent.tsx +1 -0
  127. package/src/components/ConversationPreview/styles/index.scss +20 -20
  128. package/src/components/ConversationPreview/utils.tsx +3 -2
  129. package/src/components/DivWithEdit/styles/index.scss +30 -10
  130. package/src/components/Icon/config.ts +14 -4
  131. package/src/components/Icon/images/video-call.svg +3 -0
  132. package/src/components/Icon/images/voice-call.svg +3 -0
  133. package/src/components/Icon/type.ts +2 -0
  134. package/src/components/Input/styles/index.scss +22 -6
  135. package/src/components/Plugins/styles/color.scss +3 -11
  136. package/src/components/Profile/styles/index.scss +12 -3
  137. package/src/components/TUIChat/TUIChat.tsx +36 -32
  138. package/src/components/TUIChat/TUIChatState.tsx +41 -41
  139. package/src/components/TUIChat/index.ts +3 -0
  140. package/src/components/TUIChat/server.ts +44 -0
  141. package/src/components/TUIChat/styles/layout.scss +7 -2
  142. package/src/components/TUIChat/utils.ts +72 -0
  143. package/src/components/TUIChatHeader/TUIChatHeader.tsx +10 -7
  144. package/src/components/TUIChatHeader/TUIChatHeaderDefault.tsx +72 -29
  145. package/src/components/TUIChatHeader/styles/layout.scss +16 -9
  146. package/src/components/TUIContact/TUIContactInfo/index.scss +44 -21
  147. package/src/components/TUIContact/TUIContactList/TUIContactList.tsx +75 -71
  148. package/src/components/TUIContact/TUIContactList/index.scss +40 -20
  149. package/src/components/TUIContact/hooks/useTUIContact.tsx +3 -3
  150. package/src/components/TUIContact/index.scss +30 -11
  151. package/src/components/TUIContactSearch/index.scss +12 -3
  152. package/src/components/TUIConversationList/index.scss +3 -4
  153. package/src/components/TUIManage/styles/index.scss +20 -14
  154. package/src/components/TUIMessage/MessageAvatar.tsx +7 -7
  155. package/src/components/TUIMessage/MessageBubble.tsx +22 -21
  156. package/src/components/TUIMessage/MessageCustom.tsx +26 -5
  157. package/src/components/TUIMessage/MessageStatus.tsx +5 -5
  158. package/src/components/TUIMessage/hooks/useMessageHandler.ts +6 -6
  159. package/src/components/TUIMessage/hooks/useMessageReply.ts +6 -5
  160. package/src/components/TUIMessage/styles/color.scss +6 -5
  161. package/src/components/TUIMessage/styles/layout.scss +111 -42
  162. package/src/components/TUIMessage/utils/index.ts +23 -12
  163. package/src/components/TUIMessageInput/InputPluginsDefalut.tsx +12 -12
  164. package/src/components/TUIMessageInput/hooks/useHandleForwardMessage.tsx +5 -4
  165. package/src/components/TUIMessageInput/hooks/useMessageInputText.tsx +12 -12
  166. package/src/components/TUIMessageInput/hooks/useUploadPicker.tsx +4 -4
  167. package/src/components/TUIMessageInput/styles/color.scss +15 -11
  168. package/src/components/TUIMessageInput/styles/layout.scss +33 -17
  169. package/src/components/TUIMessageList/hooks/useMessageListElement.tsx +13 -9
  170. package/src/components/TUIMessageList/styles/layout.scss +16 -9
  171. package/src/components/TUIProfile/TUIProfileDefault.tsx +12 -11
  172. package/src/components/TUIProfile/styles/color.scss +6 -5
  173. package/src/components/TUIProfile/styles/layout.scss +16 -14
  174. package/src/components/{untils.ts → utils.ts} +5 -4
  175. package/src/context/LanguageContext.tsx +5 -4
  176. package/src/context/TUIChatActionContext.tsx +14 -13
  177. package/src/context/ThemeContext.tsx +12 -5
  178. package/src/context/UIKitContext.tsx +11 -2
  179. package/src/locales/en-US/index.ts +0 -3
  180. package/src/locales/index.ts +6 -2
  181. package/src/locales/ja-JP/index.ts +0 -2
  182. package/src/locales/ko-KR/index.ts +0 -2
  183. package/src/locales/zh-CN/index.ts +0 -2
  184. package/src/locales/zh-TW/TUIChat.ts +27 -0
  185. package/src/locales/zh-TW/TUIContact.ts +29 -0
  186. package/src/locales/zh-TW/TUIConversation.ts +32 -0
  187. package/src/locales/zh-TW/TUIProfile.ts +15 -0
  188. package/src/locales/zh-TW/index.ts +11 -0
  189. package/src/styles/colors/_color-dark.scss +31 -21
  190. package/src/styles/colors/_color-light.scss +31 -21
  191. package/src/styles/colors/_color-theme.scss +32 -21
  192. package/src/styles/normalize.scss +6 -0
  193. package/dist/cjs/components/Icon/images/down-arrow.png.js +0 -1
  194. package/dist/cjs/components/Icon/images/right-arrow.svg.js +0 -1
  195. package/dist/cjs/components/TUIChat/unitls.js +0 -1
  196. package/dist/cjs/locales/en-US/TUIGlobal.js +0 -1
  197. package/dist/cjs/locales/ja-JP/TUIGlobal.js +0 -1
  198. package/dist/cjs/locales/ko-KR/TUIGlobal.js +0 -1
  199. package/dist/cjs/locales/zh-CN/TUIGlobal.js +0 -1
  200. package/dist/esm/components/Icon/images/down-arrow.png.js +0 -1
  201. package/dist/esm/components/Icon/images/right-arrow.svg.js +0 -1
  202. package/dist/esm/components/TUIChat/unitls.js +0 -1
  203. package/dist/esm/components/untils.js +0 -1
  204. package/dist/esm/locales/en-US/TUIGlobal.js +0 -1
  205. package/dist/esm/locales/ja-JP/TUIGlobal.js +0 -1
  206. package/dist/esm/locales/ko-KR/TUIGlobal.js +0 -1
  207. package/dist/esm/locales/zh-CN/TUIGlobal.js +0 -1
  208. package/scripts/publish-github.js +0 -60
  209. package/scripts/publish-intl-demo.js +0 -14
  210. package/scripts/publish-intl-experience-demo.js +0 -14
  211. package/src/components/TUIChat/unitls.ts +0 -39
  212. package/src/locales/en-US/TUIGlobal.ts +0 -6
  213. package/src/locales/ja-JP/TUIGlobal.ts +0 -6
  214. package/src/locales/ko-KR/TUIGlobal.ts +0 -6
  215. package/src/locales/zh-CN/TUIGlobal.ts +0 -6
@@ -8,7 +8,7 @@ import {
8
8
  useTUIChatStateContext, useUIKit,
9
9
  } from '../../../context';
10
10
 
11
- export function useHandleForwardMessage(msg?:Message) {
11
+ export function useHandleForwardMessage(msg?: Message) {
12
12
  const {
13
13
  operateData,
14
14
  } = useTUIChatStateContext('TUIMessageInputDefault');
@@ -18,14 +18,15 @@ export function useHandleForwardMessage(msg?:Message) {
18
18
 
19
19
  const message = msg || (operateData && operateData[MESSAGE_OPERATE.FORWARD]);
20
20
 
21
- const sendForwardMessage = (list:Array<Conversation>) => {
22
- list.map((item:Conversation) => {
23
- message && TUIChatService.sendForwardMessage([item], [message]);
21
+ const sendForwardMessage = (list: Conversation[]) => {
22
+ list.map((item: Conversation) => {
23
+ message && TUIChatService.sendForwardMessage([item], [message]);
24
24
  return item;
25
25
  });
26
26
  };
27
27
 
28
28
  useEffect(() => {
29
+ if (!chat) return;
29
30
  (async () => {
30
31
  const res = await chat.getConversationList();
31
32
  setConversationList(res?.data?.conversationList.filter(
@@ -11,7 +11,7 @@ import {
11
11
  useTUIChatActionContext,
12
12
  useUIKit,
13
13
  } from '../../../context';
14
- import { enableSampleTaskStatus } from '../../untils';
14
+ import { enableSampleTaskStatus } from '../../utils';
15
15
  import { formatEmojiString } from '../../TUIMessage/utils/emojiMap';
16
16
  import { useHandleQuoteMessage } from './useHandleQuoteMessage';
17
17
  import type { IbaseStateProps, ICursorPos } from './useMessageInputState';
@@ -19,12 +19,12 @@ import { filesData } from './useUploadPicker';
19
19
  import { de } from 'date-fns/locale';
20
20
 
21
21
  interface useMessageInputTextProps extends IbaseStateProps {
22
- focus?: boolean,
23
- textareaRef?: MutableRefObject<HTMLTextAreaElement | undefined>,
24
- sendUploadMessage?: (file: filesData, type: MESSAGE_TYPE_NAME) => void
22
+ focus?: boolean;
23
+ textareaRef?: MutableRefObject<HTMLTextAreaElement | undefined>;
24
+ sendUploadMessage?: (file: filesData, type: MESSAGE_TYPE_NAME) => void;
25
25
  }
26
26
 
27
- export const useMessageInputText = (props:useMessageInputTextProps) => {
27
+ export const useMessageInputText = (props: useMessageInputTextProps) => {
28
28
  const {
29
29
  state,
30
30
  dispatch,
@@ -48,7 +48,7 @@ export const useMessageInputText = (props:useMessageInputTextProps) => {
48
48
  }
49
49
  dispatch({
50
50
  type: CONSTANT_DISPATCH_TYPE.SET_TEXT,
51
- getNewText: (text:string) => event.target.value,
51
+ getNewText: (text: string) => event.target.value,
52
52
  });
53
53
  },
54
54
  [chat],
@@ -61,7 +61,7 @@ export const useMessageInputText = (props:useMessageInputTextProps) => {
61
61
  if (!state.text) {
62
62
  return;
63
63
  }
64
- const options:any = {
64
+ const options: any = {
65
65
  payload: {
66
66
  text: formatEmojiString(state.text),
67
67
  },
@@ -75,7 +75,7 @@ export const useMessageInputText = (props:useMessageInputTextProps) => {
75
75
  });
76
76
  enableSampleTaskStatus('sendMessage');
77
77
  dispatch({
78
- getNewText: (text:string) => '',
78
+ getNewText: (text: string) => '',
79
79
  type: CONSTANT_DISPATCH_TYPE.SET_TEXT,
80
80
  });
81
81
  operateMessage && operateMessage({
@@ -86,7 +86,7 @@ export const useMessageInputText = (props:useMessageInputTextProps) => {
86
86
  };
87
87
 
88
88
  const handleKeyDown = useCallback(
89
- (event?:React.KeyboardEvent<EventTarget>) => {
89
+ (event?: React.KeyboardEvent<EventTarget>) => {
90
90
  if (!event?.ctrlKey && event?.code && enterCodeList.indexOf(event?.code) > -1 && event.keyCode === 13) {
91
91
  event?.preventDefault();
92
92
  handleSubmit(event);
@@ -94,7 +94,7 @@ export const useMessageInputText = (props:useMessageInputTextProps) => {
94
94
  if (event?.ctrlKey && enterCodeList.indexOf(event?.code) > -1 && event.keyCode === 13) {
95
95
  dispatch({
96
96
  type: CONSTANT_DISPATCH_TYPE.SET_TEXT,
97
- getNewText: (text:string) => `${text}\n`,
97
+ getNewText: (text: string) => `${text}\n`,
98
98
  });
99
99
  }
100
100
  },
@@ -115,7 +115,7 @@ export const useMessageInputText = (props:useMessageInputTextProps) => {
115
115
  item.getAsString((str: string) => {
116
116
  dispatch({
117
117
  type: CONSTANT_DISPATCH_TYPE.SET_TEXT,
118
- getNewText: (text:string) => `${text}${str}`,
118
+ getNewText: (text: string) => `${text}${str}`,
119
119
  });
120
120
  });
121
121
  return true;
@@ -138,7 +138,7 @@ export const useMessageInputText = (props:useMessageInputTextProps) => {
138
138
  (textToInsert: string) => {
139
139
  dispatch({
140
140
  type: CONSTANT_DISPATCH_TYPE.SET_TEXT,
141
- getNewText: (text:string) => `${text.slice(0, state?.cursorPos?.start || 0)}${textToInsert}${text.slice(state?.cursorPos?.start || 0)}`,
141
+ getNewText: (text: string) => `${text.slice(0, state?.cursorPos?.start || 0)}${textToInsert}${text.slice(state?.cursorPos?.start || 0)}`,
142
142
  });
143
143
  dispatch({
144
144
  type: CONSTANT_DISPATCH_TYPE.SET_CURSOR_POS,
@@ -6,15 +6,15 @@ import {
6
6
  TUIChatService,
7
7
  } from '@tencentcloud/chat-uikit-engine';
8
8
  import { MESSAGE_TYPE_NAME } from '../../../constants';
9
- import { enableSampleTaskStatus } from '../../untils';
9
+ import { enableSampleTaskStatus } from '../../utils';
10
10
  import { useTUIChatActionContext } from '../../../context';
11
11
  import type { IbaseStateProps } from './useMessageInputState';
12
12
 
13
13
  export interface filesData {
14
- file: HTMLInputElement | File
14
+ file: HTMLInputElement | File;
15
15
  }
16
16
 
17
- export function useUploadPicker<T extends IbaseStateProps>(props:PropsWithChildren<T>) {
17
+ export function useUploadPicker<T extends IbaseStateProps>(props: PropsWithChildren<T>) {
18
18
  const {
19
19
  updateUploadPendingMessageList,
20
20
  } = useTUIChatActionContext('useUploadPicker');
@@ -25,7 +25,7 @@ export function useUploadPicker<T extends IbaseStateProps>(props:PropsWithChildr
25
25
  [MESSAGE_TYPE_NAME.FILE]: TUIChatService.sendFileMessage,
26
26
  };
27
27
 
28
- const sendUploadMessage = useCallback((file: filesData, type:MESSAGE_TYPE_NAME) => {
28
+ const sendUploadMessage = useCallback((file: filesData, type: MESSAGE_TYPE_NAME) => {
29
29
  creatUploadMessage[type]({
30
30
  payload: file,
31
31
  });
@@ -2,19 +2,19 @@
2
2
 
3
3
  .tui-message-input {
4
4
  @include theme() {
5
- background-color: get(bg-primary);
5
+ background-color: get(bg-color-operate);
6
6
  }
7
7
 
8
8
  .tui-kit-input-box--focus {
9
9
  @include theme() {
10
- outline: 1px solid get(status-info);
10
+ outline: 1px solid get(text-color-link);
11
11
  }
12
12
  }
13
13
 
14
14
  .input-box {
15
15
  @include theme() {
16
- background-color: get(bg-primary);
17
- border: 1px solid get(border-5);
16
+ background-color: get(bg-color-operate);
17
+ border: 1px solid get(stroke-color-primary);
18
18
  }
19
19
  }
20
20
  }
@@ -23,14 +23,18 @@
23
23
  &-box {
24
24
  border-radius: 16px;
25
25
 
26
- [data-uikit-theme="light"] & {
27
- background-color: var(--chat-theme-light-bg-primary);
28
- box-shadow: var(--chat-theme-light-box-shadow-1);
26
+ @include theme() {
27
+ background-color: get(dropdown-color-default);
28
+ box-shadow: 0 0 10px 0 get(shadow-color);
29
29
  }
30
+ }
31
+ }
30
32
 
31
- [data-uikit-theme="dark"] & {
32
- background-color: var(--chat-theme-dark-bg-3);
33
- box-shadow: var(--chat-theme-dark-box-shadow-1);
34
- }
33
+ .input-icon {
34
+ width: 20px;
35
+ height: 20px;
36
+
37
+ @include theme() {
38
+ color: get(text-color-primary);
35
39
  }
36
40
  }
@@ -53,7 +53,7 @@
53
53
  background: none;
54
54
 
55
55
  @include theme() {
56
- color: get(text-primary);
56
+ color: get(text-color-primary);
57
57
  }
58
58
 
59
59
  &:focus,
@@ -155,8 +155,15 @@ ul li {
155
155
  padding: 10px 16px;
156
156
  min-width: 180px;
157
157
 
158
+ @include theme() {
159
+ color: get(text-color-primary);
160
+ }
161
+
158
162
  &:hover {
159
- color: #147aff;
163
+ @include theme() {
164
+ color: get(text-color-hover);
165
+ background-color: get(dropdown-color-hover);
166
+ }
160
167
  }
161
168
 
162
169
  input {
@@ -172,10 +179,13 @@ ul li {
172
179
 
173
180
  .input-quote {
174
181
  padding: 7px 16px;
175
- background: #f9f9f9;
176
182
  display: flex;
177
183
  align-items: center;
178
184
 
185
+ @include theme() {
186
+ background: get(bg-color-bubble-reciprocal);
187
+ }
188
+
179
189
  &-content {
180
190
  flex: 1;
181
191
  background: #fff;
@@ -185,7 +195,6 @@ ul li {
185
195
  flex-direction: column;
186
196
  font-weight: 500;
187
197
  font-size: 14px;
188
- font-family: PingFangSC-Medium;
189
198
  line-height: 17px;
190
199
  color: #000;
191
200
 
@@ -212,7 +221,6 @@ ul li {
212
221
 
213
222
  // TUIForward
214
223
  .tui-forward {
215
- background: #fff;
216
224
  border-radius: 16px;
217
225
  display: flex;
218
226
  flex-direction: column;
@@ -220,19 +228,25 @@ ul li {
220
228
  width: 300px;
221
229
  max-height: 90%;
222
230
 
231
+ @include theme() {
232
+ background-color: get(bg-color-operate);
233
+ }
234
+
223
235
  &-header {
224
236
  display: flex;
225
237
  align-items: center;
226
238
  padding: 24px 20px;
239
+
240
+ @include theme() {
241
+ color: get(text-color-primary);
242
+ }
227
243
  }
228
244
 
229
245
  &-title {
230
246
  padding: 0 16px;
231
- font-family: PingFangSC-Medium;
232
247
  font-style: normal;
233
248
  font-weight: 700;
234
249
  font-size: 14px;
235
- line-height: 17px;
236
250
  }
237
251
 
238
252
  &-main {
@@ -241,13 +255,13 @@ ul li {
241
255
  overflow-y: auto;
242
256
 
243
257
  .no-result {
244
- font-family: PingFangSC-Medium;
245
258
  font-size: 14px;
246
- font-style: normal;
247
- line-height: 20px;
248
259
  padding: 10px;
249
260
  text-align: center;
250
- color: #999;
261
+
262
+ @include theme() {
263
+ color: get(text-color-secondary);
264
+ }
251
265
  }
252
266
  }
253
267
 
@@ -259,7 +273,6 @@ ul li {
259
273
  padding: 13px 0;
260
274
 
261
275
  &-title {
262
- font-family: PingFangSC-Medium;
263
276
  font-style: normal;
264
277
  font-weight: 600;
265
278
  font-size: 14px;
@@ -268,7 +281,6 @@ ul li {
268
281
 
269
282
  &-item {
270
283
  padding: 6px 0;
271
- font-family: PingFangSC-Medium;
272
284
  font-style: normal;
273
285
  font-weight: 400;
274
286
  font-size: 14px;
@@ -282,11 +294,9 @@ ul li {
282
294
  display: flex;
283
295
  align-items: center;
284
296
  flex-shrink: 0;
285
- width: 100%;
286
297
 
287
298
  &-nick {
288
299
  padding: 0 13px;
289
- font-family: PingFangSC-Medium;
290
300
  font-style: normal;
291
301
  font-weight: 400;
292
302
  font-size: 14px;
@@ -303,18 +313,20 @@ ul li {
303
313
  }
304
314
 
305
315
  &-footer {
306
- background: rgba(249, 249, 249, 94%);
307
316
  padding: 13px 10px;
308
317
  display: flex;
309
318
  justify-content: space-between;
310
319
  align-items: center;
311
320
 
321
+ @include theme() {
322
+ background-color: get(bg-color-operate);
323
+ }
324
+
312
325
  .button {
313
326
  cursor: pointer;
314
327
  background: #0365f9;
315
328
  border-radius: 31px;
316
329
  padding: 10px 21px;
317
- font-family: PingFangSC-Medium;
318
330
  font-style: normal;
319
331
  font-weight: 400;
320
332
  font-size: 14px;
@@ -331,6 +343,10 @@ ul li {
331
343
  display: -webkit-box;
332
344
  -webkit-line-clamp: 3;
333
345
  -webkit-box-orient: vertical;
346
+
347
+ @include theme() {
348
+ color: get(text-color-primary);
349
+ }
334
350
  }
335
351
  }
336
352
  }
@@ -4,15 +4,15 @@ import React, {
4
4
  import { Message } from '@tencentcloud/chat';
5
5
  import { UnknowPorps, useUIKit } from '../../../context';
6
6
  import { TUIMessageProps } from '../../TUIMessage/TUIMessage';
7
- import { getTimeStamp } from '../../untils';
7
+ import { getTimeStamp } from '../../utils';
8
8
 
9
9
  interface MessageListElementProps {
10
- enrichedMessageList: Array<Message>;
11
- TUIMessage?: React.ComponentType<TUIMessageProps | UnknowPorps>,
12
- intervalsTimer?: number
10
+ enrichedMessageList: Message[];
11
+ TUIMessage?: React.ComponentType<TUIMessageProps | UnknowPorps>;
12
+ intervalsTimer?: number;
13
13
  }
14
14
 
15
- function useMessageListElement <T extends MessageListElementProps>(
15
+ function useMessageListElement<T extends MessageListElementProps>(
16
16
  props: PropsWithChildren<T>,
17
17
  ) {
18
18
  const {
@@ -22,17 +22,21 @@ function useMessageListElement <T extends MessageListElementProps>(
22
22
  } = props;
23
23
  const { language } = useUIKit('TUIConversation');
24
24
 
25
- return useMemo(() => enrichedMessageList?.map((item: Message, index:number) => {
25
+ return useMemo(() => enrichedMessageList?.map((item: Message, index: number) => {
26
26
  const key = `${item.ID}-${index}`;
27
27
  const preMessageTImer = index > 0 ? enrichedMessageList[index - 1]?.time : -1;
28
28
  const currrentTimer = item?.time || 0;
29
29
  const isShowIntervalsTimer = intervalsTimer && preMessageTImer !== -1
30
- ? (currrentTimer - preMessageTImer) >= intervalsTimer : false;
30
+ ? (currrentTimer - preMessageTImer) >= intervalsTimer
31
+ : false;
31
32
  return (
32
33
  <li className="message-list-item" key={key}>
33
34
  {
34
- isShowIntervalsTimer && <div className="message-list-time" key={`${currrentTimer + index}`}>
35
- {currrentTimer ? getTimeStamp(currrentTimer * 1000, language) : 0}</div>
35
+ isShowIntervalsTimer && (
36
+ <div className="message-list-time" key={`${currrentTimer + index}`}>
37
+ {currrentTimer ? getTimeStamp(currrentTimer * 1000, language) : 0}
38
+ </div>
39
+ )
36
40
  }
37
41
  {/* // eslint-disable-next-line
38
42
  // @ts-ignore */}
@@ -1,31 +1,39 @@
1
1
  @use "../../../styles/colors/color-theme" as *;
2
2
 
3
- ul,li,div,p,label,span {
3
+ ul,
4
+ li,
5
+ div,
6
+ p,
7
+ label,
8
+ span {
4
9
  margin: 0;
5
10
  padding: 0;
6
11
  }
12
+
7
13
  ul li {
8
14
  list-style: none;
9
15
  }
10
- .message-list{
16
+
17
+ .message-list {
11
18
  flex: 1;
12
19
  height: 100%;
13
- overflow-x: hidden;
14
- overflow-y: auto;
20
+ overflow: hidden auto;
15
21
  position: relative;
16
22
  padding: 0 20px;
17
23
 
18
24
  @include theme() {
19
- background-color: get(bg-primary);
25
+ background-color: get(bg-color-operate);
20
26
  }
21
27
 
22
28
  &.hide {
23
29
  opacity: 0;
24
30
  }
31
+
25
32
  &-item {
26
33
  display: grid;
27
34
  padding: 5px 0;
28
35
  }
36
+
29
37
  .no-more {
30
38
  text-align: center;
31
39
  font-family: PingFangSC-Medium;
@@ -35,12 +43,11 @@ ul li {
35
43
  line-height: 17px;
36
44
 
37
45
  @include theme() {
38
- color: get(text-secondary);
46
+ color: get(text-color-secondary);
39
47
  }
40
-
41
48
  }
49
+
42
50
  &-time {
43
- font-family: PingFangSC-Medium;
44
51
  font-size: 12px;
45
52
  font-weight: 400;
46
53
  line-height: 14px;
@@ -48,7 +55,7 @@ ul li {
48
55
  text-align: center;
49
56
 
50
57
  @include theme() {
51
- color: get(text-secondary);
58
+ color: get(text-color-secondary);
52
59
  }
53
60
  }
54
61
  }
@@ -2,14 +2,14 @@ import React, { PropsWithChildren, useEffect, useState } from 'react';
2
2
  import { useTranslation } from 'react-i18next';
3
3
  import DatePicker from 'react-date-picker';
4
4
  import TencentCloudChat, { Profile } from '@tencentcloud/chat';
5
- import { UpdateMyProfileParams } from "@tencentcloud/chat-uikit-engine";
5
+ import { UpdateMyProfileParams } from '@tencentcloud/chat-uikit-engine';
6
6
  import { isH5 } from '../../utils/env';
7
7
  import { useUIManager } from '../../context';
8
8
 
9
9
  import { Avatar } from '../Avatar';
10
10
  import { DivWithEdit } from '../DivWithEdit';
11
11
  import { Icon, IconTypes } from '../Icon';
12
- import { handleDisplayAvatar } from '../untils';
12
+ import { handleDisplayAvatar } from '../utils';
13
13
 
14
14
  const gender: any = {
15
15
  [TencentCloudChat.TYPES.GENDER_UNKNOWN]: 'unknow',
@@ -58,9 +58,9 @@ const allowTypeList = [
58
58
  ];
59
59
 
60
60
  export interface TUIProfileDefaultProps {
61
- userInfo?: Profile,
62
- update?: (option: UpdateMyProfileParams) => void,
63
- className?: string,
61
+ userInfo?: Profile;
62
+ update?: (option: UpdateMyProfileParams) => void;
63
+ className?: string;
64
64
  }
65
65
 
66
66
  function TUIProfileDefaultWithContext<T extends TUIProfileDefaultProps>(
@@ -117,13 +117,15 @@ function TUIProfileDefaultWithContext<T extends TUIProfileDefaultProps>(
117
117
  },
118
118
  {
119
119
  name: 'Gender',
120
- value: t( userInfo?.gender && gender[userInfo?.gender]?.replace(
120
+ value: t(userInfo?.gender && gender[userInfo?.gender]?.replace(
121
121
  gender[userInfo?.gender][0],
122
122
  gender[userInfo?.gender][0]?.toLocaleUpperCase(),
123
- ) ? `TUIProfile.${gender[userInfo?.gender]?.replace(
123
+ )
124
+ ? `TUIProfile.${gender[userInfo?.gender]?.replace(
124
125
  gender[userInfo?.gender][0],
125
126
  gender[userInfo?.gender][0]?.toLocaleUpperCase(),
126
- )}` : ''),
127
+ )}`
128
+ : ''),
127
129
  type: 'select',
128
130
  children: (
129
131
  <ul className="select-list">
@@ -193,7 +195,7 @@ function TUIProfileDefaultWithContext<T extends TUIProfileDefaultProps>(
193
195
  if (isH5) {
194
196
  editListMap = editListMap.filter((item: any) => item.name !== 'Birthday');
195
197
  }
196
- const handleSetEditName = (name:string) => {
198
+ const handleSetEditName = (name: string) => {
197
199
  setIsEditName(name);
198
200
  };
199
201
 
@@ -312,8 +314,7 @@ function TUIProfileDefaultWithContext<T extends TUIProfileDefaultProps>(
312
314
  const MemoizedTUIProfileDefault = React.memo(TUIProfileDefaultWithContext) as
313
315
  typeof TUIProfileDefaultWithContext;
314
316
 
315
- export function TUIProfileDefault(props: TUIProfileDefaultProps)
316
- : React.ReactElement {
317
+ export function TUIProfileDefault(props: TUIProfileDefaultProps): React.ReactElement {
317
318
  const options = { ...props };
318
319
  return <MemoizedTUIProfileDefault {...options} />;
319
320
  }
@@ -1,6 +1,7 @@
1
+ @use "../../../styles/colors/color-theme" as *;
2
+
1
3
  .tui-profile {
2
- background: #ffffff;
3
- &-header {
4
- background: #f9fafb;
5
- }
6
- }
4
+ @include theme() {
5
+ background: get(bg-color-operate);
6
+ }
7
+ }
@@ -1,8 +1,14 @@
1
+ @use "../../../styles/colors/color-theme" as *;
2
+
1
3
  .tui-profile {
2
4
  display: flex;
3
5
  flex-direction: column;
4
6
  align-items: center;
5
7
 
8
+ @include theme() {
9
+ color: get(text-color-primary);
10
+ }
11
+
6
12
  &-header {
7
13
  box-sizing: border-box;
8
14
  width: 100%;
@@ -38,7 +44,6 @@
38
44
  &-nick {
39
45
  font-weight: 700;
40
46
  font-size: 24px;
41
- font-family: PingFangSC-Medium;
42
47
  line-height: 29px;
43
48
  text-align: center;
44
49
 
@@ -48,15 +53,14 @@
48
53
  }
49
54
 
50
55
  &-ID {
51
- padding: 6px 0;
52
- margin: 0;
56
+ margin: 6px 0;
53
57
  display: flex;
54
58
  align-items: center;
55
- font-weight: 400;
56
59
  font-size: 12px;
57
- font-family: PingFangSC-Medium;
58
- line-height: 14px;
59
- color: #666;
60
+
61
+ @include theme() {
62
+ color: get(text-color-secondary);
63
+ }
60
64
 
61
65
  h5 {
62
66
  margin: 0;
@@ -76,20 +80,18 @@
76
80
  cursor: pointer;
77
81
 
78
82
  h4 {
79
- padding-bottom: 3px;
80
- font-weight: 400;
81
83
  font-size: 16px;
82
- font-family: PingFangSC-Medium;
83
- line-height: 22px;
84
84
  margin: 10px 0;
85
- color: rgba(0, 0, 0, 60%);
86
85
  }
87
86
  }
88
87
  }
89
88
 
90
89
  &-div-with-edit {
91
- padding: 4px 0;
92
- border-bottom: 1px solid #eee;
90
+ height: auto !important;
91
+
92
+ @include theme() {
93
+ border-bottom: 1px solid get(stroke-color-primary);
94
+ }
93
95
  }
94
96
 
95
97
  &-edit {
@@ -6,7 +6,7 @@ import {
6
6
  isToday,
7
7
  isYesterday,
8
8
  } from 'date-fns';
9
- import { enGB, zhCN, ja, ko } from 'date-fns/locale';
9
+ import { enGB, zhCN, ja, ko, zhTW } from 'date-fns/locale';
10
10
  import TencentCloudChat from '@tencentcloud/chat';
11
11
  import { TUIStore, StoreName } from '@tencentcloud/chat-uikit-engine';
12
12
  import { defaultGroupAvatarWork, defaultUserAvatar } from './Avatar';
@@ -34,7 +34,7 @@ export function JSONStringToParse(str: string) {
34
34
  return JSON.parse(str);
35
35
  }
36
36
 
37
- export const handleDisplayAvatar = (avatar: string, type:string = TencentCloudChat.TYPES.CONV_C2C) => {
37
+ export const handleDisplayAvatar = (avatar: string, type: string = TencentCloudChat.TYPES.CONV_C2C) => {
38
38
  let displayImage = avatar;
39
39
  if (!avatar) {
40
40
  switch (type) {
@@ -51,13 +51,14 @@ export const handleDisplayAvatar = (avatar: string, type:string = TencentCloudCh
51
51
  return displayImage;
52
52
  };
53
53
 
54
- export const getTimeStamp = (time: number, language: string = 'en-US') => {
54
+ export const getTimeStamp = (time: number, language = 'en-US') => {
55
55
  const locales: any = {
56
56
  'zh-CN': zhCN,
57
+ 'zh-TW': zhTW,
57
58
  'en-US': enGB,
58
59
  'ja-JP': ja,
59
60
  'ko-KR': ko,
60
- };
61
+ };
61
62
  if (!time) {
62
63
  return '';
63
64
  }
@@ -29,12 +29,13 @@ function LanguageProvider(props: PropsWithChildren<Partial<LanguageProviderProps
29
29
  const [language, setLanguage] = useState(_language);
30
30
 
31
31
  useLayoutEffect(() => {
32
- i18n.changeLanguage(language);
33
- }, [language, i18n]);
32
+ i18n.changeLanguage(_language);
33
+ setLanguage(_language);
34
+ }, [_language, i18n]);
34
35
 
35
36
  useLayoutEffect(() => {
36
- document.documentElement.lang = language;
37
- }, [language]);
37
+ document.documentElement.lang = _language;
38
+ }, [_language]);
38
39
 
39
40
  const value = {
40
41
  language,