tuikit-atomicx-vue3 0.1.1 → 3.3.0-beta.3

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 (455) hide show
  1. package/dist/MessageInput.vue_vue_type_script_setup_true_lang-XRL7A5Gj.js +123 -0
  2. package/dist/{PopoverTrigger-ByOI-vdB.js → PopoverTrigger-BKOIHfdS.js} +1 -1
  3. package/dist/{PopperContent-BaiCn-CA.js → PopperContent-DtL7HVWz.js} +29 -21
  4. package/dist/baseComp/TuiSwitch.js +2 -2
  5. package/dist/baseComp/index.d.ts +0 -1
  6. package/dist/baseComp/index.js +1 -3
  7. package/dist/chat/index.d.ts +2230 -4090
  8. package/dist/chat/index.js +16 -8
  9. package/dist/components/Avatar/Avatar.js +35 -10
  10. package/dist/components/Avatar/Avatar.vue.d.ts +1 -1
  11. package/dist/components/BarrageInput/BarrageInput.vue.d.ts +2 -2
  12. package/dist/components/BarrageInput/BarrageInputH5.js +30 -10
  13. package/dist/components/BarrageInput/BarrageInputH5.vue.d.ts +2 -2
  14. package/dist/components/BarrageInput/EmojiPicker/EmojiPicker.js +1 -1
  15. package/dist/components/BarrageInput/TextEditor/index.js +13 -5
  16. package/dist/components/BarrageInput/constants.d.ts +3 -0
  17. package/dist/components/BarrageInput/constants.js +6 -0
  18. package/dist/components/BarrageInput/i18n/en-US/index.d.ts +2 -0
  19. package/dist/components/BarrageInput/i18n/en-US/index.js +3 -1
  20. package/dist/components/BarrageInput/i18n/zh-CN/index.d.ts +2 -0
  21. package/dist/components/BarrageInput/i18n/zh-CN/index.js +3 -1
  22. package/dist/components/BarrageInput/index.d.ts +18 -18
  23. package/dist/components/BarrageList/BarrageList.js +5 -6
  24. package/dist/components/BarrageList/BarrageListH5.js +5 -6
  25. package/dist/components/BarrageList/Message/MessageLayout/MessageLayout.js +1 -1
  26. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.js +5 -4
  27. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.vue.d.ts +2 -2
  28. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.js +7 -4
  29. package/dist/components/BarrageList/Message/TextMessage/TextMessage.js +1 -1
  30. package/dist/components/ChatSetting/ChatSetting.js +8 -11
  31. package/dist/components/ChatSetting/GroupChatSetting/GroupActions/GroupActions.js +2 -1
  32. package/dist/components/ChatSetting/GroupChatSetting/GroupChatSetting.js +2 -1
  33. package/dist/components/ChatSetting/GroupChatSetting/GroupInfo/GroupInfo.js +2 -2
  34. package/dist/components/ChatSetting/GroupChatSetting/GroupManagement/GroupManagement.js +2 -1
  35. package/dist/components/ChatSetting/GroupChatSetting/GroupMembers/GroupMembers.js +2 -2
  36. package/dist/components/ChatSetting/SettingItem/SettingItem.js +116 -89
  37. package/dist/components/ChatSetting/i18n/index.d.ts +191 -1
  38. package/dist/components/ChatSetting/i18n/index.js +3 -4
  39. package/dist/components/ChatSetting/index.js +4 -0
  40. package/dist/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.js +78 -0
  41. package/dist/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.vue.d.ts +33 -0
  42. package/dist/components/ContactList/ContactInfo/BlacklistInfo/index.d.ts +1 -0
  43. package/dist/components/ContactList/ContactInfo/BlacklistInfo/index.js +4 -0
  44. package/dist/components/ContactList/ContactInfo/ContactInfo.js +257 -0
  45. package/dist/components/ContactList/ContactInfo/ContactInfo.vue.d.ts +56 -0
  46. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.js +96 -0
  47. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.vue.d.ts +37 -0
  48. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/index.d.ts +1 -0
  49. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/index.js +4 -0
  50. package/dist/components/ContactList/ContactInfo/FriendInfo/FriendInfo.js +228 -0
  51. package/dist/components/ContactList/ContactInfo/FriendInfo/FriendInfo.vue.d.ts +39 -0
  52. package/dist/components/ContactList/ContactInfo/FriendInfo/index.d.ts +1 -0
  53. package/dist/components/ContactList/ContactInfo/FriendInfo/index.js +4 -0
  54. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.js +101 -0
  55. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.vue.d.ts +37 -0
  56. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/index.d.ts +1 -0
  57. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/index.js +4 -0
  58. package/dist/components/ContactList/ContactInfo/GroupInfo/GroupInfo.js +154 -0
  59. package/dist/components/ContactList/ContactInfo/GroupInfo/GroupInfo.vue.d.ts +37 -0
  60. package/dist/components/ContactList/ContactInfo/GroupInfo/index.d.ts +1 -0
  61. package/dist/components/ContactList/ContactInfo/GroupInfo/index.js +4 -0
  62. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.js +141 -0
  63. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.vue.d.ts +32 -0
  64. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/index.d.ts +1 -0
  65. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/index.js +4 -0
  66. package/dist/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.js +122 -0
  67. package/dist/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.vue.d.ts +33 -0
  68. package/dist/components/ContactList/ContactInfo/SearchUserInfo/index.d.ts +1 -0
  69. package/dist/components/ContactList/ContactInfo/SearchUserInfo/index.js +4 -0
  70. package/dist/components/ContactList/ContactInfo/index.d.ts +8 -0
  71. package/dist/components/ContactList/ContactInfo/index.js +18 -0
  72. package/dist/components/ContactList/ContactList.js +281 -0
  73. package/dist/components/ContactList/ContactList.vue.d.ts +41 -0
  74. package/dist/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.js +52 -0
  75. package/dist/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.vue.d.ts +25 -0
  76. package/dist/components/ContactList/ContactListItem/BlacklistItem/index.d.ts +1 -0
  77. package/dist/components/ContactList/ContactListItem/BlacklistItem/index.js +4 -0
  78. package/dist/components/ContactList/ContactListItem/ContactListItem.js +4 -0
  79. package/dist/components/ContactList/ContactListItem/ContactListItem.vue.d.ts +30 -0
  80. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.js +76 -0
  81. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.vue.d.ts +27 -0
  82. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/index.d.ts +1 -0
  83. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/index.js +4 -0
  84. package/dist/components/ContactList/ContactListItem/FriendItem/FriendItem.js +53 -0
  85. package/dist/components/ContactList/ContactListItem/FriendItem/FriendItem.vue.d.ts +25 -0
  86. package/dist/components/ContactList/ContactListItem/FriendItem/index.d.ts +1 -0
  87. package/dist/components/ContactList/ContactListItem/FriendItem/index.js +4 -0
  88. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.js +79 -0
  89. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.vue.d.ts +27 -0
  90. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/index.d.ts +1 -0
  91. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/index.js +4 -0
  92. package/dist/components/ContactList/ContactListItem/GroupItem/GroupItem.js +52 -0
  93. package/dist/components/ContactList/ContactListItem/GroupItem/GroupItem.vue.d.ts +25 -0
  94. package/dist/components/ContactList/ContactListItem/GroupItem/index.d.ts +1 -0
  95. package/dist/components/ContactList/ContactListItem/GroupItem/index.js +4 -0
  96. package/dist/components/ContactList/ContactListItem/index.d.ts +6 -0
  97. package/dist/components/ContactList/ContactListItem/index.js +95 -0
  98. package/dist/components/ContactList/ContactSearch/ContactSearch.js +85 -0
  99. package/dist/components/ContactList/ContactSearch/ContactSearch.vue.d.ts +8 -0
  100. package/dist/components/ContactList/ContactSearch/index.d.ts +1 -0
  101. package/dist/components/ContactList/ContactSearch/index.js +4 -0
  102. package/dist/components/ContactList/constants/const.d.ts +3 -0
  103. package/dist/components/ContactList/constants/const.js +6 -0
  104. package/dist/components/ContactList/hooks/index.d.ts +1 -0
  105. package/dist/components/ContactList/hooks/index.js +4 -0
  106. package/dist/components/ContactList/hooks/useContactList.d.ts +9 -0
  107. package/dist/components/ContactList/hooks/useContactList.js +18 -0
  108. package/dist/components/ContactList/i18n/en-US.d.ts +77 -0
  109. package/dist/components/ContactList/i18n/en-US.js +80 -0
  110. package/dist/components/ContactList/i18n/index.d.ts +4 -0
  111. package/dist/components/ContactList/i18n/index.js +6 -0
  112. package/dist/components/ContactList/i18n/zh-CN.d.ts +77 -0
  113. package/dist/components/ContactList/i18n/zh-CN.js +80 -0
  114. package/dist/components/ContactList/index.d.ts +310 -0
  115. package/dist/components/ContactList/index.js +16 -0
  116. package/dist/components/ConversationList/ConversationActions/ConversationActions.js +31 -46
  117. package/dist/components/ConversationList/ConversationActions/ConversationActions.vue.d.ts +1 -10
  118. package/dist/components/ConversationList/ConversationCreate/ConversationCreate.js +160 -100
  119. package/dist/components/ConversationList/ConversationCreate/ConversationCreate.vue.d.ts +0 -3
  120. package/dist/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.js +79 -17
  121. package/dist/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.vue.d.ts +6 -12
  122. package/dist/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.js +78 -158
  123. package/dist/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.vue.d.ts +5 -4
  124. package/dist/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.js +38 -207
  125. package/dist/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.vue.d.ts +3 -9
  126. package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.js +35 -23
  127. package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.vue.d.ts +2 -11
  128. package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/index.js +1 -2
  129. package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/type.d.ts +2 -7
  130. package/dist/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/type.js +6 -14
  131. package/dist/components/ConversationList/ConversationCreate/index.d.ts +0 -2
  132. package/dist/components/ConversationList/ConversationCreate/index.js +5 -9
  133. package/dist/components/ConversationList/ConversationList.js +51 -39
  134. package/dist/components/ConversationList/ConversationList.vue.d.ts +654 -1510
  135. package/dist/components/ConversationList/ConversationListContent/ConversationListContent.js +4 -4
  136. package/dist/components/ConversationList/ConversationListContent/ConversationListContent.vue.d.ts +1 -1
  137. package/dist/components/ConversationList/ConversationPlaceHolder/ConversationPlaceHolder.js +2 -2
  138. package/dist/components/ConversationList/ConversationPreview/ConversationPreview.vue.d.ts +596 -1404
  139. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewAbstract.js +1 -1
  140. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.js +13 -29
  141. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue.d.ts +146 -348
  142. package/dist/components/ConversationList/ConversationPreview/index.js +3 -3
  143. package/dist/components/ConversationList/ConversationPreview/utils.js +8 -8
  144. package/dist/components/ConversationList/ConversationSearch/ConversationSearch.js +5 -5
  145. package/dist/components/ConversationList/ConversationSearch/ConversationSearch.vue.d.ts +8 -8
  146. package/dist/components/ConversationList/hooks/useConversation.d.ts +6 -0
  147. package/dist/components/ConversationList/hooks/useConversation.js +20 -0
  148. package/dist/components/ConversationList/hooks/useConversationCreate.d.ts +5 -0
  149. package/dist/components/ConversationList/hooks/useConversationCreate.js +24 -0
  150. package/dist/components/ConversationList/i18n/en-US.d.ts +16 -0
  151. package/dist/components/ConversationList/i18n/en-US.js +25 -7
  152. package/dist/components/ConversationList/i18n/zh-CN.d.ts +16 -0
  153. package/dist/components/ConversationList/i18n/zh-CN.js +24 -6
  154. package/dist/components/ConversationList/index.d.ts +2096 -4595
  155. package/dist/components/{LiveStreamView → LiveCoreView}/DefaultStreamViewUI.js +1 -1
  156. package/dist/components/LiveCoreView/index.d.ts +4 -0
  157. package/dist/components/{LiveStreamView → LiveCoreView}/index.js +68 -74
  158. package/dist/components/LiveList/LiveList.js +71 -45
  159. package/dist/components/LiveList/LiveListH5.js +14 -15
  160. package/dist/components/LiveScenePanel/CameraSettingDialog.js +1 -2
  161. package/dist/components/LiveScenePanel/icons/AddIcon.js +2 -2
  162. package/dist/components/LiveScenePanel/icons/CameraIcon.js +2 -2
  163. package/dist/components/LiveScenePanel/icons/CameraMirror.js +2 -2
  164. package/dist/components/LiveScenePanel/icons/CameraUnmirror.js +2 -2
  165. package/dist/components/LiveScenePanel/icons/ImageIcon.js +2 -2
  166. package/dist/components/LiveScenePanel/icons/MoreIcon.js +2 -2
  167. package/dist/components/LiveScenePanel/icons/ScreenIcon.js +2 -2
  168. package/dist/components/MessageInput/AttachmentPicker/index.js +1 -1
  169. package/dist/components/MessageInput/EmojiPicker/EmojiPicker.js +1 -1
  170. package/dist/components/MessageInput/MessageInput.js +1 -1
  171. package/dist/components/MessageInput/QuotedMessagePreview/index.js +2 -2
  172. package/dist/components/MessageInput/SendButton/index.js +1 -1
  173. package/dist/components/MessageInput/TextEditor/index.js +6 -5
  174. package/dist/components/MessageInput/i18n/index.d.ts +24 -1
  175. package/dist/components/MessageInput/i18n/index.js +7 -8
  176. package/dist/components/MessageInput/index.d.ts +409 -6
  177. package/dist/components/MessageInput/index.js +23 -125
  178. package/dist/components/MessageList/Message/AudioMessage/PlayButton.js +3 -3
  179. package/dist/components/MessageList/Message/ImageMessage/ImageMessage.js +2 -2
  180. package/dist/components/MessageList/Message/MessageLayout/MessageActionDropdown/MessageActionDropdown.js +3 -3
  181. package/dist/components/MessageList/Message/MessageLayout/MessageActionDropdown/MessageActionDropdown.vue.d.ts +5 -5
  182. package/dist/components/MessageList/Message/MessageLayout/MessageLayout.js +1 -1
  183. package/dist/components/MessageList/Message/MessageLayout/MessageMeta/MessageMeta.js +34 -30
  184. package/dist/components/MessageList/Message/MessageLayout/MessageMeta/MessageMeta.vue.d.ts +0 -10
  185. package/dist/components/MessageList/MessageForward/MessageForward.js +4 -4
  186. package/dist/components/MessageList/MessageList.js +66 -60
  187. package/dist/components/MessageList/MessageList.vue.d.ts +3 -3
  188. package/dist/components/MessageList/ScrollToBottom/ScrollToBottom.js +32 -0
  189. package/dist/components/MessageList/ScrollToBottom/ScrollToBottom.vue.d.ts +6 -0
  190. package/dist/components/MessageList/ScrollToBottom/index.d.ts +3 -0
  191. package/dist/components/MessageList/ScrollToBottom/index.js +4 -0
  192. package/dist/components/MessageList/i18n/en-US.d.ts +5 -0
  193. package/dist/components/MessageList/i18n/en-US.js +6 -1
  194. package/dist/components/MessageList/i18n/index.d.ts +85 -1
  195. package/dist/components/MessageList/i18n/index.js +7 -8
  196. package/dist/components/MessageList/i18n/zh-CN.d.ts +5 -0
  197. package/dist/components/MessageList/i18n/zh-CN.js +6 -1
  198. package/dist/components/MessageList/index.js +4 -0
  199. package/dist/components/Search/Search.js +4 -4
  200. package/dist/components/Search/Search.vue.d.ts +4 -4
  201. package/dist/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.js +15 -9
  202. package/dist/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.js +12 -7
  203. package/dist/components/Search/SearchAdvanced/SearchAdvanced.js +2 -2
  204. package/dist/components/Search/SearchAdvanced/SearchTab/SearchTab.js +10 -5
  205. package/dist/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.js +10 -10
  206. package/dist/components/Search/SearchBar/SearchBar.js +3 -2
  207. package/dist/components/Search/SearchResults/EmptyResult/EmptyResult.js +1 -1
  208. package/dist/components/Search/SearchResults/SearchResults.js +82 -69
  209. package/dist/components/Search/SearchResults/SearchResultsItem/Conversation/Conversation.js +8 -8
  210. package/dist/components/Search/SearchResults/SearchResultsItem/utils/highlightText.d.ts +5 -6
  211. package/dist/components/Search/i18n/en-US/Search.js +9 -9
  212. package/dist/components/Search/i18n/zh-CN/Search.js +13 -13
  213. package/dist/components/Search/index.d.ts +6 -6
  214. package/dist/components/StreamMixer/LocalMixer/MixerControl.js +14 -10
  215. package/dist/components/StreamMixer/LocalMixer/index.js +81 -56
  216. package/dist/components/StreamMixer/icons/CameraMirror.js +2 -2
  217. package/dist/components/StreamMixer/icons/Delete.js +2 -2
  218. package/dist/components/StreamMixer/icons/Down.js +2 -2
  219. package/dist/components/StreamMixer/icons/Rotation.js +2 -2
  220. package/dist/components/StreamMixer/icons/Up.js +2 -2
  221. package/dist/components/StreamMixer/index.js +2 -2
  222. package/dist/components/StreamView/common/StreamCover/index.js +2 -2
  223. package/dist/components/UserPicker/components/TreeMode/TreeNode.js +2 -2
  224. package/dist/components/UserPicker/i18n/index.d.ts +15 -1
  225. package/dist/components/UserPicker/i18n/index.js +3 -4
  226. package/dist/components/UserPicker/index.d.ts +0 -1
  227. package/dist/components/UserPicker/index.js +6 -3
  228. package/dist/components/VideoSettingPanel/VideoPreview.js +3 -4
  229. package/dist/components/VideoSettingPanel/VideoProfile.js +3 -4
  230. package/dist/components/VideoSettingPanel/i18n/en-US/index.d.ts +5 -0
  231. package/dist/components/VideoSettingPanel/i18n/en-US/index.js +8 -3
  232. package/dist/components/VideoSettingPanel/i18n/zh-CN/index.d.ts +5 -0
  233. package/dist/components/VideoSettingPanel/i18n/zh-CN/index.js +8 -3
  234. package/dist/components/VideoSettingPanel/index.js +3 -3
  235. package/dist/hooks/useLongPress.d.ts +4 -4
  236. package/dist/hooks/useMessageActions.js +5 -5
  237. package/dist/hooks/useMouseHover.d.ts +7 -5
  238. package/dist/hooks/useMouseHover.js +3 -1
  239. package/dist/index.js +12 -6
  240. package/dist/rtc/index.d.ts +22 -20
  241. package/dist/rtc/index.js +6 -3
  242. package/dist/states/BarrageListState/BarrageListState.js +3 -2
  243. package/dist/states/CoHostState.d.ts +1 -1
  244. package/dist/states/CoHostState.js +59 -62
  245. package/dist/states/ContactListState/ContactListState.d.ts +16 -16
  246. package/dist/states/ContactListState/ContactListState.js +20 -20
  247. package/dist/states/ConversationListState/ConversationListState.d.ts +13 -12
  248. package/dist/states/ConversationListState/ConversationListState.js +19 -19
  249. package/dist/states/LiveSeatState/seatEventManager.js +3 -5
  250. package/dist/states/LiveSeatState/usePlayStream/MixStreamPlayer.js +9 -0
  251. package/dist/states/LiveState/index.d.ts +4 -4
  252. package/dist/states/LiveState/index.js +4 -2
  253. package/dist/states/LoginState.js +1 -3
  254. package/dist/states/MessageInputState/MessageInputState.js +18 -18
  255. package/dist/states/SearchState.d.ts +2 -2
  256. package/dist/states/SearchState.js +124 -127
  257. package/dist/styles/index.css +1954 -1070
  258. package/dist/types/contact.d.ts +145 -9
  259. package/dist/types/conversation.d.ts +36 -28
  260. package/dist/types/conversation.js +22 -0
  261. package/dist/types/index.js +5 -3
  262. package/dist/types/live.d.ts +2 -3
  263. package/dist/types/types.d.ts +0 -8
  264. package/dist/types/types.js +0 -10
  265. package/dist/utils/time.d.ts +2 -2
  266. package/dist/utils/time.js +253 -1471
  267. package/package.json +23 -5
  268. package/src/baseComp/View/View.vue +1 -2
  269. package/src/baseComp/index.ts +1 -2
  270. package/src/chat/index.ts +11 -0
  271. package/src/components/Avatar/Avatar.vue +12 -11
  272. package/src/components/BarrageInput/BarrageInputH5.vue +36 -9
  273. package/src/components/BarrageInput/TextEditor/TextEditor.vue +13 -5
  274. package/src/components/BarrageInput/constants.ts +3 -0
  275. package/src/components/BarrageInput/i18n/en-US/index.ts +2 -0
  276. package/src/components/BarrageInput/i18n/zh-CN/index.ts +2 -0
  277. package/src/components/BarrageList/BarrageList.vue +2 -2
  278. package/src/components/BarrageList/BarrageListH5.vue +2 -2
  279. package/src/components/BarrageList/Message/MessageLayout/MessageLayout.vue +0 -1
  280. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.vue +5 -2
  281. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.vue +7 -3
  282. package/src/components/BarrageList/Message/TextMessage/TextMessage.vue +3 -3
  283. package/src/components/ChatSetting/ChatSetting.vue +6 -10
  284. package/src/components/ChatSetting/GroupChatSetting/GroupInfo/GroupInfo.vue +1 -1
  285. package/src/components/ChatSetting/SettingItem/SettingItem.vue +40 -36
  286. package/src/components/ChatSetting/i18n/index.ts +3 -5
  287. package/src/components/ChatSetting/index.ts +5 -1
  288. package/src/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.scss +50 -0
  289. package/src/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.vue +71 -0
  290. package/src/components/ContactList/ContactInfo/BlacklistInfo/index.ts +1 -0
  291. package/src/components/ContactList/ContactInfo/ContactInfo.scss +33 -0
  292. package/src/components/ContactList/ContactInfo/ContactInfo.vue +256 -0
  293. package/src/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.scss +82 -0
  294. package/src/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.vue +88 -0
  295. package/src/components/ContactList/ContactInfo/FriendApplicationInfo/index.ts +1 -0
  296. package/src/components/ContactList/ContactInfo/FriendInfo/FriendInfo.scss +92 -0
  297. package/src/components/ContactList/ContactInfo/FriendInfo/FriendInfo.vue +219 -0
  298. package/src/components/ContactList/ContactInfo/FriendInfo/index.ts +1 -0
  299. package/src/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.scss +82 -0
  300. package/src/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.vue +99 -0
  301. package/src/components/ContactList/ContactInfo/GroupApplicationInfo/index.ts +1 -0
  302. package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.scss +52 -0
  303. package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.vue +146 -0
  304. package/src/components/ContactList/ContactInfo/GroupInfo/index.ts +1 -0
  305. package/src/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.scss +111 -0
  306. package/src/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.vue +147 -0
  307. package/src/components/ContactList/ContactInfo/SearchGroupInfo/index.ts +1 -0
  308. package/src/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.scss +111 -0
  309. package/src/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.vue +128 -0
  310. package/src/components/ContactList/ContactInfo/SearchUserInfo/index.ts +1 -0
  311. package/src/components/ContactList/ContactInfo/index.ts +8 -0
  312. package/src/components/ContactList/ContactList.scss +124 -0
  313. package/src/components/ContactList/ContactList.vue +299 -0
  314. package/src/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.scss +39 -0
  315. package/src/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.vue +47 -0
  316. package/src/components/ContactList/ContactListItem/BlacklistItem/index.ts +1 -0
  317. package/src/components/ContactList/ContactListItem/ContactListItem.vue +98 -0
  318. package/src/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.scss +58 -0
  319. package/src/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.vue +70 -0
  320. package/src/components/ContactList/ContactListItem/FriendApplicationItem/index.ts +1 -0
  321. package/src/components/ContactList/ContactListItem/FriendItem/FriendItem.scss +39 -0
  322. package/src/components/ContactList/ContactListItem/FriendItem/FriendItem.vue +47 -0
  323. package/src/components/ContactList/ContactListItem/FriendItem/index.ts +1 -0
  324. package/src/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.scss +57 -0
  325. package/src/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.vue +78 -0
  326. package/src/components/ContactList/ContactListItem/GroupApplicationItem/index.ts +1 -0
  327. package/src/components/ContactList/ContactListItem/GroupItem/GroupItem.scss +39 -0
  328. package/src/components/ContactList/ContactListItem/GroupItem/GroupItem.vue +47 -0
  329. package/src/components/ContactList/ContactListItem/GroupItem/index.ts +1 -0
  330. package/src/components/ContactList/ContactListItem/index.ts +6 -0
  331. package/src/components/ContactList/ContactSearch/ContactSearch.scss +58 -0
  332. package/src/components/ContactList/ContactSearch/ContactSearch.vue +98 -0
  333. package/src/components/ContactList/ContactSearch/index.ts +1 -0
  334. package/src/components/ContactList/constants/const.ts +7 -0
  335. package/src/components/ContactList/hooks/index.ts +1 -0
  336. package/src/components/ContactList/hooks/useContactList.ts +21 -0
  337. package/src/components/ContactList/i18n/en-US.ts +77 -0
  338. package/src/components/ContactList/i18n/index.ts +4 -0
  339. package/src/components/ContactList/i18n/zh-CN.ts +77 -0
  340. package/src/components/ContactList/index.ts +18 -0
  341. package/src/components/ConversationList/ConversationActions/ConversationActions.scss +34 -35
  342. package/src/components/ConversationList/ConversationActions/ConversationActions.vue +15 -29
  343. package/src/components/ConversationList/ConversationCreate/ConversationCreate.scss +11 -37
  344. package/src/components/ConversationList/ConversationCreate/ConversationCreate.vue +154 -69
  345. package/src/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.scss +37 -1
  346. package/src/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.vue +70 -15
  347. package/src/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.scss +19 -66
  348. package/src/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.vue +72 -139
  349. package/src/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.scss +5 -129
  350. package/src/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.vue +42 -183
  351. package/src/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.scss +14 -11
  352. package/src/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.vue +23 -18
  353. package/src/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/type.ts +2 -8
  354. package/src/components/ConversationList/ConversationCreate/index.ts +0 -2
  355. package/src/components/ConversationList/ConversationList.scss +1 -0
  356. package/src/components/ConversationList/ConversationList.vue +44 -25
  357. package/src/components/ConversationList/ConversationListContent/ConversationListContent.scss +2 -5
  358. package/src/components/ConversationList/ConversationPlaceHolder/ConversationPlaceHolder.vue +2 -2
  359. package/src/components/ConversationList/ConversationPreview/ConversationPreviewAbstract.vue +1 -1
  360. package/src/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue +6 -19
  361. package/src/components/ConversationList/ConversationPreview/utils.ts +11 -11
  362. package/src/components/ConversationList/hooks/useConversation.ts +21 -0
  363. package/src/components/ConversationList/hooks/useConversationCreate.ts +29 -0
  364. package/src/components/ConversationList/i18n/en-US.ts +26 -6
  365. package/src/components/ConversationList/i18n/zh-CN.ts +25 -5
  366. package/src/components/{LiveStreamView → LiveCoreView}/index.ts +4 -3
  367. package/src/components/{LiveStreamView → LiveCoreView}/index.vue +109 -88
  368. package/src/components/LiveList/LiveList.vue +94 -38
  369. package/src/components/LiveList/LiveListH5.vue +47 -23
  370. package/src/components/MessageInput/MessageInput.module.scss +1 -1
  371. package/src/components/MessageInput/QuotedMessagePreview/QuotedMessagePreview.vue +2 -2
  372. package/src/components/MessageInput/SendButton/SendButton.vue +1 -1
  373. package/src/components/MessageInput/TextEditor/Editor.scss +3 -2
  374. package/src/components/MessageInput/TextEditor/TextEditor.module.scss +1 -0
  375. package/src/components/MessageInput/TextEditor/TextEditor.vue +2 -0
  376. package/src/components/MessageInput/i18n/index.ts +1 -7
  377. package/src/components/MessageInput/index.ts +25 -8
  378. package/src/components/MessageList/Message/MessageLayout/MessageActionDropdown/MessageActionDropdown.vue +4 -4
  379. package/src/components/MessageList/Message/MessageLayout/MessageLayout.vue +0 -1
  380. package/src/components/MessageList/Message/MessageLayout/MessageMeta/MessageMeta.vue +16 -17
  381. package/src/components/MessageList/MessageForward/MessageForward.vue +2 -2
  382. package/src/components/MessageList/MessageList.vue +21 -5
  383. package/src/components/MessageList/ScrollToBottom/ScrollToBottom.vue +50 -0
  384. package/src/components/MessageList/ScrollToBottom/index.ts +5 -0
  385. package/src/components/MessageList/i18n/en-US.ts +5 -0
  386. package/src/components/MessageList/i18n/index.ts +1 -5
  387. package/src/components/MessageList/i18n/zh-CN.ts +5 -0
  388. package/src/components/MessageList/index.ts +4 -1
  389. package/src/components/Search/Search.vue +0 -4
  390. package/src/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.vue +125 -38
  391. package/src/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.vue +24 -16
  392. package/src/components/Search/SearchAdvanced/SearchAdvanced.vue +9 -7
  393. package/src/components/Search/SearchAdvanced/SearchTab/SearchTab.vue +4 -3
  394. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.scss +0 -1
  395. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.vue +57 -23
  396. package/src/components/Search/SearchBar/SearchBar.scss +0 -2
  397. package/src/components/Search/SearchBar/SearchBar.vue +7 -5
  398. package/src/components/Search/SearchResults/EmptyResult/EmptyResult.vue +4 -2
  399. package/src/components/Search/SearchResults/SearchResults.scss +5 -11
  400. package/src/components/Search/SearchResults/SearchResults.vue +25 -29
  401. package/src/components/Search/SearchResults/SearchResultsItem/Conversation/Conversation.scss +1 -9
  402. package/src/components/Search/SearchResults/SearchResultsItem/utils/highlightText.ts +15 -16
  403. package/src/components/Search/i18n/en-US/Search.ts +9 -9
  404. package/src/components/Search/i18n/zh-CN/Search.ts +13 -13
  405. package/src/components/StreamMixer/LocalMixer/MixerControl.vue +20 -15
  406. package/src/components/StreamMixer/LocalMixer/index.vue +130 -57
  407. package/src/components/StreamMixer/index.vue +3 -3
  408. package/src/components/UserPicker/i18n/index.ts +1 -5
  409. package/src/components/UserPicker/index.ts +4 -3
  410. package/src/components/VideoSettingPanel/VideoPreview.vue +13 -8
  411. package/src/components/VideoSettingPanel/VideoProfile.vue +5 -5
  412. package/src/components/VideoSettingPanel/i18n/en-US/index.ts +8 -3
  413. package/src/components/VideoSettingPanel/i18n/zh-CN/index.ts +8 -3
  414. package/src/components/VideoSettingPanel/index.vue +15 -9
  415. package/src/hooks/useLongPress.ts +7 -18
  416. package/src/hooks/useMessageActions.ts +5 -5
  417. package/src/hooks/useMouseHover.ts +9 -7
  418. package/src/rtc/index.ts +6 -3
  419. package/src/types/contact.ts +175 -12
  420. package/src/types/conversation.ts +42 -32
  421. package/src/types/live.ts +3 -5
  422. package/src/types/types.ts +0 -28
  423. package/src/utils/time.ts +8 -10
  424. package/dist/baseComp/Popup/Popup.js +0 -132
  425. package/dist/baseComp/Popup/Popup.vue.d.ts +0 -54
  426. package/dist/baseComp/Popup/index.d.ts +0 -2
  427. package/dist/baseComp/Popup/index.js +0 -4
  428. package/dist/components/ConversationList/ConversationCreate/ConversationCreateSelectView/ConversationCreateSelectView.js +0 -65
  429. package/dist/components/ConversationList/ConversationCreate/ConversationCreateSelectView/ConversationCreateSelectView.vue.d.ts +0 -17
  430. package/dist/components/ConversationList/ConversationCreate/ConversationCreateSelectView/index.d.ts +0 -1
  431. package/dist/components/ConversationList/ConversationCreate/ConversationCreateSelectView/index.js +0 -4
  432. package/dist/components/ConversationList/ConversationCreate/hooks/useConversationCreate.d.ts +0 -9
  433. package/dist/components/ConversationList/ConversationCreate/hooks/useConversationCreate.js +0 -96
  434. package/dist/components/ConversationList/ConversationCreate/static/word.d.ts +0 -6
  435. package/dist/components/ConversationList/ConversationCreate/static/word.js +0 -4
  436. package/dist/components/LiveStreamView/index.d.ts +0 -4
  437. package/src/baseComp/Popup/Popup.vue +0 -156
  438. package/src/baseComp/Popup/index.ts +0 -2
  439. package/src/components/ConversationList/ConversationCreate/ConversationCreateSelectView/ConversationCreateSelectView.scss +0 -36
  440. package/src/components/ConversationList/ConversationCreate/ConversationCreateSelectView/ConversationCreateSelectView.vue +0 -44
  441. package/src/components/ConversationList/ConversationCreate/ConversationCreateSelectView/index.ts +0 -1
  442. package/src/components/ConversationList/ConversationCreate/hooks/useConversationCreate.ts +0 -132
  443. package/src/components/ConversationList/ConversationCreate/static/word.ts +0 -300
  444. /package/dist/components/{LiveStreamView → LiveCoreView}/DefaultStreamViewUI.vue.d.ts +0 -0
  445. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/en-US/index.d.ts +0 -0
  446. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/en-US/index.js +0 -0
  447. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/index.d.ts +0 -0
  448. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/index.js +0 -0
  449. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/zh-CN/index.d.ts +0 -0
  450. /package/dist/components/{LiveStreamView → LiveCoreView}/i18n/zh-CN/index.js +0 -0
  451. /package/dist/components/{LiveStreamView → LiveCoreView}/index.vue.d.ts +0 -0
  452. /package/src/components/{LiveStreamView → LiveCoreView}/DefaultStreamViewUI.vue +0 -0
  453. /package/src/components/{LiveStreamView → LiveCoreView}/i18n/en-US/index.ts +0 -0
  454. /package/src/components/{LiveStreamView → LiveCoreView}/i18n/index.ts +0 -0
  455. /package/src/components/{LiveStreamView → LiveCoreView}/i18n/zh-CN/index.ts +0 -0
@@ -1,5 +1,6 @@
1
1
  <script lang="ts" setup>
2
- import { ref, nextTick } from 'vue';
2
+ import { ref, nextTick, useCssModule } from 'vue';
3
+ import cs from 'classnames';
3
4
  import { IconEditNameCard, TUIButton, useUIKit } from '@tencentcloud/uikit-base-component-vue3';
4
5
 
5
6
  // Base props shared by all types
@@ -58,7 +59,9 @@ const SettingItemType = {
58
59
  DISPLAY: 'display',
59
60
  } as const;
60
61
 
62
+
61
63
  const { t } = useUIKit();
64
+ const classes = useCssModule();
62
65
 
63
66
  // Edit state management
64
67
  const isEditing = ref(false);
@@ -152,46 +155,46 @@ function handleSwitchChange(event: Event) {
152
155
  <template>
153
156
  <div
154
157
  :class="[
155
- 'setting-item',
158
+ classes['setting-item'],
156
159
  {
157
- [`setting-item--${type}`]: !!type,
158
- 'setting-item--disabled': disabled,
159
- 'setting-item--editing': isEditing,
160
- 'setting-item--error': !!errorMessage,
160
+ [classes[`setting-item--${type}`]]: !!type,
161
+ [classes['setting-item--disabled']]: disabled,
162
+ [classes['setting-item--editing']]: isEditing,
163
+ [classes['setting-item--error']]: !!errorMessage,
161
164
  }
162
165
  ]"
163
166
  >
164
- <div class="setting-item__label">
167
+ <div :class="classes['setting-item__label']">
165
168
  {{ label }}
166
169
  </div>
167
- <div class="setting-item__content-wrapper">
170
+ <div :class="classes['setting-item__content-wrapper']">
168
171
  <!-- Switch type content -->
169
172
  <label
170
173
  v-if="type === SettingItemType.SWITCH"
171
- class="setting-item__switch"
174
+ :class="classes['setting-item__switch']"
172
175
  >
173
176
  <input
174
- class="setting-item__switch-input"
177
+ :class="classes['setting-item__switch-input']"
175
178
  type="checkbox"
176
179
  :checked="value"
177
180
  :disabled="disabled"
178
181
  @change="handleSwitchChange"
179
182
  >
180
- <span class="setting-item__switch-slider" />
183
+ <span :class="classes['setting-item__switch-slider']" />
181
184
  </label>
182
185
 
183
186
  <!-- Input type content -->
184
187
  <template v-else-if="type === SettingItemType.INPUT">
185
188
  <div
186
189
  v-if="isEditing && editable"
187
- class="setting-item__edit-container"
190
+ :class="classes['setting-item__edit-container']"
188
191
  >
189
192
  <div>
190
193
  <input
191
194
  ref="inputRef"
192
195
  :class="[
193
- 'setting-item__input',
194
- { 'setting-item__input--error': !!errorMessage }
196
+ classes['setting-item__input'],
197
+ { [classes['setting-item__input--error']]: !!errorMessage }
195
198
  ]"
196
199
  type="text"
197
200
  :value="editValue"
@@ -202,14 +205,14 @@ function handleSwitchChange(event: Event) {
202
205
  >
203
206
  <div
204
207
  v-if="errorMessage"
205
- class="setting-item__error"
208
+ :class="classes['setting-item__error']"
206
209
  >
207
210
  {{ errorMessage }}
208
211
  </div>
209
212
  </div>
210
- <div class="setting-item__actions">
213
+ <div :class="classes['setting-item__actions']">
211
214
  <TUIButton
212
- class="setting-item__btn--cancel"
215
+ :class="classes['setting-item__btn--cancel']"
213
216
  color="gray"
214
217
  radius="rect"
215
218
  :disabled="disabled"
@@ -218,7 +221,7 @@ function handleSwitchChange(event: Event) {
218
221
  {{ t('ChatSetting.cancel') }}
219
222
  </TUIButton>
220
223
  <TUIButton
221
- class="setting-item__btn--confirm"
224
+ :class="classes['setting-item__btn--confirm']"
222
225
  color="blue"
223
226
  radius="rect"
224
227
  :disabled="disabled || !!errorMessage || props.value === editValue"
@@ -230,14 +233,14 @@ function handleSwitchChange(event: Event) {
230
233
  </div>
231
234
  <div
232
235
  v-else
233
- class="setting-item__content"
236
+ :class="classes['setting-item__content']"
234
237
  >
235
- <span class="setting-item__value">
238
+ <span :class="[classes['setting-item__value'], { [classes['setting-item__value--placeholder']]: !value }]">
236
239
  {{ value || placeholder || t('ChatSetting.not_set') }}
237
240
  </span>
238
241
  <IconEditNameCard
239
242
  v-if="editable"
240
- class="setting-item__edit-btn unique-icon-btn"
243
+ :class="cs(classes['setting-item__edit-btn'], 'unique-icon-btn')"
241
244
  :style="{ cursor: disabled ? 'not-allowed' : 'pointer' }"
242
245
  @click="startEdit"
243
246
  />
@@ -248,14 +251,14 @@ function handleSwitchChange(event: Event) {
248
251
  <template v-else-if="type === SettingItemType.TEXTAREA">
249
252
  <div
250
253
  v-if="isEditing && editable"
251
- class="setting-item__edit-container"
254
+ :class="classes['setting-item__edit-container']"
252
255
  >
253
256
  <div>
254
257
  <textarea
255
258
  ref="textareaRef"
256
259
  :class="[
257
- 'setting-item__textarea',
258
- { 'setting-item__textarea--error': !!errorMessage }
260
+ classes['setting-item__textarea'],
261
+ { [classes['setting-item__textarea--error']]: !!errorMessage }
259
262
  ]"
260
263
  :value="editValue"
261
264
  :rows="rows || 3"
@@ -266,14 +269,14 @@ function handleSwitchChange(event: Event) {
266
269
  />
267
270
  <div
268
271
  v-if="errorMessage"
269
- class="setting-item__error"
272
+ :class="classes['setting-item__error']"
270
273
  >
271
274
  {{ errorMessage }}
272
275
  </div>
273
276
  </div>
274
- <div class="setting-item__actions">
277
+ <div :class="classes['setting-item__actions']">
275
278
  <TUIButton
276
- class="setting-item__btn--cancel"
279
+ :class="classes['setting-item__btn--cancel']"
277
280
  color="gray"
278
281
  radius="rect"
279
282
  :disabled="disabled"
@@ -282,7 +285,7 @@ function handleSwitchChange(event: Event) {
282
285
  {{ t('ChatSetting.cancel') }}
283
286
  </TUIButton>
284
287
  <TUIButton
285
- class="setting-item__btn--confirm"
288
+ :class="classes['setting-item__btn--confirm']"
286
289
  color="blue"
287
290
  radius="rect"
288
291
  :disabled="disabled || !!errorMessage || props.value === editValue"
@@ -294,14 +297,14 @@ function handleSwitchChange(event: Event) {
294
297
  </div>
295
298
  <div
296
299
  v-else
297
- class="setting-item__content"
300
+ :class="classes['setting-item__content']"
298
301
  >
299
- <span class="setting-item__value">
302
+ <span :class="[classes['setting-item__value'], { [classes['setting-item__value--placeholder']]: !value }]">
300
303
  {{ value || placeholder || t('ChatSetting.not_set') }}
301
304
  </span>
302
305
  <IconEditNameCard
303
306
  v-if="editable"
304
- class="setting-item__edit-btn unique-icon-btn"
307
+ :class="cs(classes['setting-item__edit-btn'], 'unique-icon-btn')"
305
308
  :style="{ cursor: disabled ? 'not-allowed' : 'pointer' }"
306
309
  @click="startEdit"
307
310
  />
@@ -311,7 +314,7 @@ function handleSwitchChange(event: Event) {
311
314
  <!-- Display type content -->
312
315
  <span
313
316
  v-else-if="type === SettingItemType.DISPLAY"
314
- class="setting-item__value"
317
+ :class="classes['setting-item__value']"
315
318
  >
316
319
  {{ value || placeholder || t('ChatSetting.not_set') }}
317
320
  </span>
@@ -319,7 +322,7 @@ function handleSwitchChange(event: Event) {
319
322
  </div>
320
323
  </template>
321
324
 
322
- <style lang="scss" scoped>
325
+ <style lang="scss" module>
323
326
  .setting-item {
324
327
  display: flex;
325
328
  flex: 1;
@@ -376,10 +379,11 @@ function handleSwitchChange(event: Event) {
376
379
  word-break: break-word;
377
380
 
378
381
  color: var(--text-color-secondary);
379
- }
380
382
 
381
- &__placeholder {
382
- color: var(--text-color-placeholder);
383
+ &--placeholder {
384
+ font-style: italic;
385
+ color: var(--text-color-tertiary);
386
+ }
383
387
  }
384
388
 
385
389
  // Switch styles
@@ -1,5 +1,3 @@
1
- import { i18next } from '@tencentcloud/uikit-base-component-vue3';
2
-
3
1
  import enUS from './en-US';
4
2
  import zhCN from './zh-CN';
5
3
 
@@ -8,6 +6,6 @@ const resources = {
8
6
  'zh-CN': zhCN,
9
7
  };
10
8
 
11
- Object.entries(resources).forEach(([lng, resource]) => {
12
- i18next.addResourceBundle(lng, 'translation', { ChatSetting: resource }, true, false);
13
- });
9
+ export {
10
+ resources,
11
+ }
@@ -1,5 +1,9 @@
1
1
  import ChatSetting from './ChatSetting.vue';
2
- import './i18n';
2
+ import { addI18n } from '../../i18n';
3
+ import { resources } from './i18n';
4
+
5
+ addI18n('zh-CN', { translation: { ChatSetting: resources['zh-CN'] } });
6
+ addI18n('en-US', { translation: { ChatSetting: resources['en-US'] } });
3
7
 
4
8
  export { ChatSetting };
5
9
  export { C2CChatSetting } from './C2CChatSetting';
@@ -0,0 +1,50 @@
1
+ @use '../../../../styles/mixins' as mixins;
2
+ .contact-blacklist-info {
3
+ height: 100%;
4
+ width: 100%;
5
+ overflow: hidden;
6
+ display: flex;
7
+ flex-direction: column;
8
+ background-color: var(--bg-color-topbar);
9
+ padding: 48px;
10
+ }
11
+
12
+ .contact-blacklist-info__header {
13
+ display: flex;
14
+ justify-content: space-between;
15
+ align-items: flex-start;
16
+ gap: 20px;
17
+ margin-bottom: 32px;
18
+ }
19
+
20
+ .contact-blacklist-info__main-info {
21
+ flex: 1;
22
+ display: flex;
23
+ flex-direction: column;
24
+ gap: 20px;
25
+ width: 0;
26
+ }
27
+
28
+ .contact-blacklist-info__name {
29
+ font-size: 24px;
30
+ font-weight: 400;
31
+ color: var(--text-color-primary);
32
+ max-width: 100%;
33
+ @include mixins.text-ellipsis();
34
+ }
35
+
36
+ .contact-blacklist-info__id,
37
+ .contact-blacklist-info__intro {
38
+ font-size: 16px;
39
+ color: var(--text-color-tertiary);
40
+ width: 100%;
41
+ word-break: break-word;
42
+ @include mixins.multi-line-ellipsis(3);
43
+ }
44
+
45
+ .contact-blacklist-info__actions {
46
+ border-top: 1px solid var(--stroke-color-secondary);
47
+ padding-top: 32px;
48
+ display: flex;
49
+ justify-content: center;
50
+ }
@@ -0,0 +1,71 @@
1
+ <template>
2
+ <div class="contact-blacklist-info">
3
+ <div class="contact-blacklist-info__header">
4
+ <div class="contact-blacklist-info__main-info">
5
+ <div class="contact-blacklist-info__name">
6
+ {{ displayName }}
7
+ </div>
8
+ <div class="contact-blacklist-info__id">
9
+ {{ t('TUIContact.ID') }}:{{ profile?.userID }}
10
+ </div>
11
+ <div class="contact-blacklist-info__intro">
12
+ {{ t('TUIContact.Personal signature') }}:{{ profile?.selfSignature || '' }}
13
+ </div>
14
+ </div>
15
+ <Avatar
16
+ :src="profile?.avatar"
17
+ :alt="displayName"
18
+ size="xl"
19
+ />
20
+ </div>
21
+
22
+ <div
23
+ v-if="showActions"
24
+ class="contact-blacklist-info__actions"
25
+ >
26
+ <TUIButton
27
+ type="primary"
28
+ size="big"
29
+ @click="handleRemoveFromBlacklist"
30
+ >
31
+ {{ t('TUIContact.Remove from blacklist') }}
32
+ </TUIButton>
33
+ </div>
34
+ </div>
35
+ </template>
36
+
37
+ <script setup lang="ts">
38
+ import { computed } from 'vue';
39
+ import { useUIKit, TUIButton } from '@tencentcloud/uikit-base-component-vue3';
40
+ import { useContactListState } from '../../../../states/ContactListState';
41
+ import { Avatar } from '../../../Avatar';
42
+ import type { BlacklistInfoProps, UserProfile } from '../../../../types/contact';
43
+
44
+ const props = withDefaults(defineProps<BlacklistInfoProps>(), {
45
+ showActions: true,
46
+ });
47
+
48
+ const emit = defineEmits<{
49
+ removeFromBlacklist: [profile: UserProfile];
50
+ close: [];
51
+ }>();
52
+
53
+ const { t } = useUIKit();
54
+ const { removeFromBlacklist } = useContactListState();
55
+
56
+ const displayName = computed(() => props.profile?.nick || props.profile?.userID);
57
+
58
+ const handleRemoveFromBlacklist = async () => {
59
+ try {
60
+ await removeFromBlacklist([props.profile?.userID]);
61
+ emit('removeFromBlacklist', props.profile);
62
+ emit('close');
63
+ } catch (err) {
64
+ console.error('[ContactInfo removeFromBlacklist] error', err);
65
+ }
66
+ };
67
+ </script>
68
+
69
+ <style scoped lang="scss">
70
+ @import './BlacklistInfo.scss';
71
+ </style>
@@ -0,0 +1 @@
1
+ export { default as BlacklistInfo } from './BlacklistInfo.vue';
@@ -0,0 +1,33 @@
1
+ .contact-info {
2
+ flex: 1;
3
+ height: 100%;
4
+ width: 100%;
5
+ overflow: hidden;
6
+ display: flex;
7
+ flex-direction: column;
8
+ background-color: var(--bg-color-operate);
9
+ }
10
+
11
+ .contact-info__empty {
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ height: 100%;
16
+ color: var(--text-color-secondary);
17
+ }
18
+
19
+ .contact-info__header {
20
+ display: flex;
21
+ align-items: center;
22
+ padding: 10px 20px;
23
+ }
24
+
25
+ .contact-info__title {
26
+ flex: 1;
27
+ text-align: center;
28
+ font-size: 16px;
29
+ line-height: 100%;
30
+ font-weight: 500;
31
+ padding-right: 24px;
32
+ color: var(--text-color-primary);
33
+ }
@@ -0,0 +1,256 @@
1
+ <template>
2
+ <div class="contact-info">
3
+ <header
4
+ v-if="isH5 && contactInfo"
5
+ class="contact-info__header"
6
+ >
7
+ <IconChevronLeft
8
+ size="24px"
9
+ @click="handleCloseContactInfo"
10
+ />
11
+ <h1 class="contact-info__title">
12
+ {{ contactGroupTitles[contactInfo?.type] }}
13
+ </h1>
14
+ </header>
15
+ <component
16
+ :is="getComponentByType(contactInfo?.type)"
17
+ v-if="contactInfo"
18
+ v-bind="getComponentProps(contactInfo.type)"
19
+ :show-actions="showActions"
20
+ @close="handleCloseContactInfo"
21
+ @send-message="handleSendMessage"
22
+ @delete-friend="handleDeleteFriend"
23
+ @add-to-blacklist="handleAddToBlacklist"
24
+ @remove-from-blacklist="handleRemoveFromBlacklist"
25
+ @update-friend-remark="handleUpdateFriendRemark"
26
+ @enter-group="handleEnterGroup"
27
+ @leave-group="handleLeaveGroup"
28
+ @dismiss-group="handleDismissGroup"
29
+ @friend-application-action="handleFriendApplicationAction"
30
+ @group-application-action="handleGroupApplicationAction"
31
+ @add-friend="handleAddFriend"
32
+ @join-group="handleJoinGroup"
33
+ />
34
+ <div
35
+ v-else-if="PlaceholderEmpty"
36
+ class="contact-info__empty"
37
+ >
38
+ <component :is="PlaceholderEmpty" />
39
+ </div>
40
+ </div>
41
+ </template>
42
+
43
+ <script setup lang="ts">
44
+ import { watch, ref } from 'vue';
45
+ import { IconChevronLeft } from '@tencentcloud/uikit-base-component-vue3';
46
+ import { useContactListState } from '../../../states/ContactListState';
47
+ import { ContactItemType } from '../../../types/contact';
48
+ import { isH5 } from '../../../utils/env';
49
+ import { useContactList } from '../hooks';
50
+ import { BlacklistInfo } from './BlacklistInfo';
51
+ import { FriendApplicationInfo } from './FriendApplicationInfo';
52
+ import { FriendInfo } from './FriendInfo';
53
+ import { GroupApplicationInfo } from './GroupApplicationInfo';
54
+ import { GroupInfo } from './GroupInfo';
55
+ import { SearchGroupInfo } from './SearchGroupInfo';
56
+ import { SearchUserInfo } from './SearchUserInfo';
57
+ import type { Friend, GroupModel, UserProfile } from '../../../types';
58
+ import type { ContactInfoProps, ContactGroupItem, FriendApplication, GroupApplication } from '../../../types/contact';
59
+
60
+ const props = withDefaults(defineProps<ContactInfoProps>(), {
61
+ showActions: true,
62
+ });
63
+
64
+ const emit = defineEmits<{
65
+ close: [];
66
+ sendMessage: [data: Friend];
67
+ deleteFriend: [data: Friend];
68
+ addToBlacklist: [data: Friend];
69
+ removeFromBlacklist: [data: UserProfile];
70
+ updateFriendRemark: [data: Friend];
71
+ enterGroup: [data: GroupModel];
72
+ leaveGroup: [data: GroupModel];
73
+ dismissGroup: [data: GroupModel];
74
+ friendApplicationAction: [action: 'accept' | 'refuse', application: FriendApplication];
75
+ groupApplicationAction: [action: 'accept' | 'refuse', application: GroupApplication];
76
+ addFriend: [data: UserProfile, wording: string];
77
+ joinGroup: [data: GroupModel, note: string];
78
+ }>();
79
+
80
+ const { friendList, groupList, blackList } = useContactListState();
81
+ const { activeContact, setActiveContact, contactGroupTitles } = useContactList();
82
+
83
+ const contactInfo = ref<ContactGroupItem | undefined>(undefined);
84
+
85
+ const handleContactInfo = (contactGroupItem?: ContactGroupItem) => {
86
+ const newContactInfo = contactGroupItem ? { ...contactGroupItem } : undefined;
87
+
88
+ if (contactGroupItem?.type === ContactItemType.SEARCH_USER) {
89
+ const blackUser = blackList.value.find(
90
+ userInfo => userInfo.userID === (contactGroupItem?.data as UserProfile).userID,
91
+ );
92
+ const friend = friendList.value.find(
93
+ userInfo => userInfo.userID === (contactGroupItem?.data as UserProfile).userID,
94
+ );
95
+
96
+ if (blackUser && newContactInfo) {
97
+ newContactInfo.type = ContactItemType.BLACK;
98
+ newContactInfo.data = blackUser;
99
+ } else if (friend && newContactInfo) {
100
+ newContactInfo.type = ContactItemType.FRIEND;
101
+ newContactInfo.data = friend;
102
+ }
103
+ } else if (contactGroupItem?.type === ContactItemType.SEARCH_GROUP) {
104
+ const group = groupList.value.find(
105
+ g => g.groupID === (contactGroupItem?.data as GroupModel).groupID,
106
+ );
107
+ if (group && newContactInfo) {
108
+ newContactInfo.type = ContactItemType.GROUP;
109
+ newContactInfo.data = group;
110
+ }
111
+ } else if (contactGroupItem?.type === ContactItemType.FRIEND) {
112
+ const blackUser = blackList.value.find(
113
+ userInfo => userInfo.userID === (contactGroupItem?.data as Friend).userID,
114
+ );
115
+ if (blackUser && newContactInfo) {
116
+ newContactInfo.type = ContactItemType.BLACK;
117
+ newContactInfo.data = blackUser;
118
+ }
119
+ }
120
+
121
+ contactInfo.value = newContactInfo;
122
+ };
123
+
124
+ watch(
125
+ () => props.contactItem,
126
+ (newContactItem, oldContactItem) => {
127
+ if (newContactItem !== oldContactItem) {
128
+ setActiveContact(newContactItem);
129
+ }
130
+ },
131
+ { immediate: true },
132
+ );
133
+
134
+ watch(
135
+ () => activeContact.value,
136
+ (newActiveContact) => {
137
+ handleContactInfo(newActiveContact || undefined);
138
+ },
139
+ { immediate: true },
140
+ );
141
+
142
+ watch(
143
+ (): [GroupModel[], ContactGroupItem | undefined] => [groupList.value, activeContact.value],
144
+ ([newGroupList, newActiveContact]) => {
145
+ if (newGroupList.length > 0 && newActiveContact && newActiveContact.type === ContactItemType.GROUP) {
146
+ const group = newGroupList.find(
147
+ g => g?.groupID === (newActiveContact?.data as GroupModel)?.groupID,
148
+ );
149
+ if (group) {
150
+ if (newActiveContact?.data !== group) {
151
+ setActiveContact({
152
+ type: ContactItemType.GROUP,
153
+ data: group,
154
+ });
155
+ }
156
+ } else {
157
+ setActiveContact(undefined);
158
+ }
159
+ }
160
+ },
161
+ );
162
+
163
+ watch(
164
+ (): [UserProfile[], Friend[], ContactGroupItem | undefined] => [blackList.value, friendList.value, activeContact.value],
165
+ ([newBlackList, newFriendList, newActiveContact]) => {
166
+ if (newActiveContact) {
167
+ const blackUser = newBlackList?.find(
168
+ userInfo => userInfo?.userID === (newActiveContact?.data as UserProfile)?.userID,
169
+ );
170
+ const user = newFriendList?.find(
171
+ userInfo => userInfo?.userID === (newActiveContact?.data as UserProfile)?.userID,
172
+ );
173
+
174
+ if (blackUser && newActiveContact.type !== ContactItemType.BLACK) {
175
+ setActiveContact({
176
+ type: ContactItemType.BLACK,
177
+ data: blackUser,
178
+ });
179
+ } else if (user && newActiveContact.type === ContactItemType.FRIEND && newActiveContact.data !== user) {
180
+ setActiveContact({
181
+ type: ContactItemType.FRIEND,
182
+ data: user,
183
+ });
184
+ }
185
+ }
186
+ },
187
+ );
188
+
189
+ const getComponentByType = (type?: ContactItemType) => {
190
+ switch (type) {
191
+ case ContactItemType.FRIEND:
192
+ return FriendInfo;
193
+ case ContactItemType.GROUP:
194
+ return GroupInfo;
195
+ case ContactItemType.BLACK:
196
+ return BlacklistInfo;
197
+ case ContactItemType.FRIEND_REQUEST:
198
+ return FriendApplicationInfo;
199
+ case ContactItemType.GROUP_REQUEST:
200
+ return GroupApplicationInfo;
201
+ case ContactItemType.SEARCH_USER:
202
+ return SearchUserInfo;
203
+ case ContactItemType.SEARCH_GROUP:
204
+ return SearchGroupInfo;
205
+ default:
206
+ return 'div';
207
+ }
208
+ };
209
+
210
+ const getComponentProps = (type?: ContactItemType) => {
211
+ if (!contactInfo.value) {
212
+ return {};
213
+ }
214
+
215
+ switch (type) {
216
+ case ContactItemType.FRIEND:
217
+ return { friend: contactInfo.value.data };
218
+ case ContactItemType.GROUP:
219
+ return { group: contactInfo.value.data };
220
+ case ContactItemType.BLACK:
221
+ return { profile: contactInfo.value.data };
222
+ case ContactItemType.FRIEND_REQUEST:
223
+ return { application: contactInfo.value.data };
224
+ case ContactItemType.GROUP_REQUEST:
225
+ return { application: contactInfo.value.data };
226
+ case ContactItemType.SEARCH_USER:
227
+ return { user: contactInfo.value.data };
228
+ case ContactItemType.SEARCH_GROUP:
229
+ return { group: contactInfo.value.data };
230
+ default:
231
+ return {};
232
+ }
233
+ };
234
+
235
+ const handleCloseContactInfo = () => {
236
+ setActiveContact(undefined);
237
+ emit('close');
238
+ };
239
+
240
+ const handleSendMessage = (data: Friend) => emit('sendMessage', data);
241
+ const handleDeleteFriend = (data: Friend) => emit('deleteFriend', data);
242
+ const handleAddToBlacklist = (data: Friend) => emit('addToBlacklist', data);
243
+ const handleRemoveFromBlacklist = (data: UserProfile) => emit('removeFromBlacklist', data);
244
+ const handleUpdateFriendRemark = (data: Friend) => emit('updateFriendRemark', data);
245
+ const handleEnterGroup = (data: GroupModel) => emit('enterGroup', data);
246
+ const handleLeaveGroup = (data: GroupModel) => emit('leaveGroup', data);
247
+ const handleDismissGroup = (data: GroupModel) => emit('dismissGroup', data);
248
+ const handleFriendApplicationAction = (action: 'accept' | 'refuse', application: FriendApplication) => emit('friendApplicationAction', action, application);
249
+ const handleGroupApplicationAction = (action: 'accept' | 'refuse', application: GroupApplication) => emit('groupApplicationAction', action, application);
250
+ const handleAddFriend = (data: UserProfile, wording: string) => emit('addFriend', data, wording);
251
+ const handleJoinGroup = (data: GroupModel, note: string) => emit('joinGroup', data, note);
252
+ </script>
253
+
254
+ <style scoped lang="scss">
255
+ @import './ContactInfo.scss';
256
+ </style>