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
@@ -12,8 +12,8 @@ export const generateHighlightTitle = (
12
12
 
13
13
  const regex = new RegExp(`(${highlightMatchString})`, 'gi');
14
14
  const parts = title.split(regex);
15
-
16
- return parts.map((part) => ({
15
+
16
+ return parts.map(part => ({
17
17
  text: part,
18
18
  isHighlight: part.toLowerCase() === highlightMatchString.toLowerCase(),
19
19
  }));
@@ -34,22 +34,22 @@ export const getLatestMessagePreview = (conversation: ConversationModel, t: (key
34
34
  case TUIChatEngine.TYPES.MSG_TEXT:
35
35
  return payload.text || '';
36
36
  case TUIChatEngine.TYPES.MSG_IMAGE:
37
- return `[${t('TUIChat.Image')}]`;
37
+ return `[${t('TUIConversation.Image')}]`;
38
38
  case TUIChatEngine.TYPES.MSG_AUDIO:
39
- return `[${t('TUIChat.Audio')}]`;
39
+ return `[${t('TUIConversation.Audio')}]`;
40
40
  case TUIChatEngine.TYPES.MSG_VIDEO:
41
- return `[${t('TUIChat.Video')}]`;
41
+ return `[${t('TUIConversation.Video')}]`;
42
42
  case TUIChatEngine.TYPES.MSG_FILE:
43
- return `[${t('TUIChat.File')}]`;
43
+ return `[${t('TUIConversation.File')}]`;
44
44
  case TUIChatEngine.TYPES.MSG_CUSTOM:
45
- return `[${t('TUIChat.Custom')}]`;
45
+ return `[${t('TUIConversation.Custom')}]`;
46
46
  case TUIChatEngine.TYPES.MSG_LOCATION:
47
- return `[${t('TUIChat.Location')}]`;
47
+ return `[${t('TUIConversation.Location')}]`;
48
48
  case TUIChatEngine.TYPES.MSG_FACE:
49
- return `[${t('TUIChat.Emoji')}]`;
49
+ return `[${t('TUIConversation.Emoji')}]`;
50
50
  case TUIChatEngine.TYPES.MSG_MERGER:
51
- return `[${t('TUIChat.Chat History')}]`;
51
+ return `[${t('TUIConversation.Chat History')}]`;
52
52
  default:
53
53
  return senderName ? `${senderName}: ${payload?.text || ''}` : payload?.text || '';
54
54
  }
55
- };
55
+ };
@@ -0,0 +1,21 @@
1
+ import { ref } from 'vue';
2
+
3
+ const enableCreate = ref(false);
4
+ const enableSearch = ref(false);
5
+
6
+ export const useConversation = () => {
7
+ const setEnableCreate = (value: boolean) => {
8
+ enableCreate.value = value;
9
+ };
10
+
11
+ const setEnableSearch = (value: boolean) => {
12
+ enableSearch.value = value;
13
+ };
14
+
15
+ return {
16
+ enableCreate,
17
+ enableSearch,
18
+ setEnableCreate,
19
+ setEnableSearch,
20
+ };
21
+ };
@@ -0,0 +1,29 @@
1
+ import { GroupType } from '../../../types';
2
+ import {
3
+ DEFAULT_GROUP_AVATAR_AVCHATROOM,
4
+ DEFAULT_GROUP_AVATAR_COMMON,
5
+ DEFAULT_GROUP_AVATAR_MEETING,
6
+ DEFAULT_GROUP_AVATAR_PUBLIC,
7
+ DEFAULT_GROUP_AVATAR_WORK,
8
+ } from '../../Avatar';
9
+
10
+ const getDefaultAvatar = (type: GroupType) => {
11
+ switch (type) {
12
+ case GroupType.WORK:
13
+ return DEFAULT_GROUP_AVATAR_WORK;
14
+ case GroupType.PUBLIC:
15
+ return DEFAULT_GROUP_AVATAR_PUBLIC;
16
+ case GroupType.MEETING:
17
+ return DEFAULT_GROUP_AVATAR_MEETING;
18
+ case GroupType.AVCHATROOM:
19
+ return DEFAULT_GROUP_AVATAR_AVCHATROOM;
20
+ case GroupType.COMMUNITY:
21
+ return DEFAULT_GROUP_AVATAR_COMMON;
22
+ default:
23
+ return '';
24
+ }
25
+ };
26
+
27
+ export const useConversationCreate = () => ({
28
+ getDefaultAvatar,
29
+ });
@@ -6,15 +6,23 @@ export default {
6
6
  'Load failed': 'Load failed',
7
7
  'Retry': 'Retry',
8
8
 
9
+ // ConversationSearch
10
+ 'You are not in the group, please join the group first': 'You are not in the group, please join the group first',
11
+
9
12
  // ConversationCreate
10
- 'Start chat': 'Start chat',
13
+ 'Start chat': 'Start Chat',
14
+ 'Start C2C Chat': 'Start C2C Chat',
15
+ 'Start Group Chat': 'Start Group Chat',
11
16
  'Add Participants': 'Add Participants',
12
17
  'Search': 'Search',
13
18
  'New group chat': 'New group chat',
14
19
  'Next': 'Next',
20
+ 'Prev': 'Prev',
21
+ 'Cancel': 'Cancel',
15
22
  'Create': 'Create',
16
23
 
17
24
  // ConversationCreateGroupDetail
25
+ 'Group Avatar': 'Group Avatar',
18
26
  'Group Name': 'Group Name',
19
27
  'Group ID': 'Group ID',
20
28
  'Group Type': 'Group Type',
@@ -29,11 +37,12 @@ export default {
29
37
  'Community': 'Community',
30
38
 
31
39
  // Group type descriptions
32
- 'Users can join the group only via invitation by existing members. The invitation does not need to be agreed by the invitee or approved by the group owner. See the documentation for details.': 'Users can join the group only via invitation by existing members. The invitation does not need to be agreed by the invitee or approved by the group owner. See the documentation for details.',
33
- 'After a public group is created, the group owner can designate group admins. To join the group, a user needs to search the group ID and send a request, which needs to be approved by the group owner or an admin before the user can join the group. See the documentation for details.': 'After a public group is created, the group owner can designate group admins. To join the group, a user needs to search the group ID and send a request, which needs to be approved by the group owner or an admin before the user can join the group. See the documentation for details.',
34
- 'After the group is created, a user can join and quit the group freely and can view the messages sent before joining the group. It is suitable for scenarios that integrate Tencent Real-Time Communication (TRTC), such as audio and video conferences and online education. See the documentation for details.': 'After the group is created, a user can join and quit the group freely and can view the messages sent before joining the group. It is suitable for scenarios that integrate Tencent Real-Time Communication (TRTC), such as audio and video conferences and online education. See the documentation for details.',
35
- 'After a group is created, a user can join and quit the group freely. The group can have an unlimited number of members, but it does not store message history. It can be combined with Live Video Broadcasting (LVB) to support on-screen comment scenarios. See the documentation for details.': 'After a group is created, a user can join and quit the group freely. The group can have an unlimited number of members, but it does not store message history. It can be combined with Live Video Broadcasting (LVB) to support on-screen comment scenarios. See the documentation for details.',
36
- 'After creation, you can enter and leave at will, support up to 100,000 people, support historical message storage, and after users search for group ID and initiate a group application, they can join the group without administrator approval. See product documentation for details.': 'After creation, you can enter and leave at will, support up to 100,000 people, support historical message storage, and after users search for group ID and initiate a group application, they can join the group without administrator approval. See product documentation for details.',
40
+ 'Users can join the group only via invitation by existing members. The invitation does not need to be agreed by the invitee or approved by the group owner. See the documentation for details.': 'Users can join the group only via invitation by existing members. The invitation does not need to be agreed by the invitee or approved by the group owner. ',
41
+ 'After a public group is created, the group owner can designate group admins. To join the group, a user needs to search the group ID and send a request, which needs to be approved by the group owner or an admin before the user can join the group. See the documentation for details.': 'After a public group is created, the group owner can designate group admins. To join the group, a user needs to search the group ID and send a request, which needs to be approved by the group owner or an admin before the user can join the group.',
42
+ 'After the group is created, a user can join and quit the group freely and can view the messages sent before joining the group. It is suitable for scenarios that integrate Tencent Real-Time Communication (TRTC), such as audio and video conferences and online education. See the documentation for details.': 'After the group is created, a user can join and quit the group freely and can view the messages sent before joining the group. It is suitable for scenarios that integrate Tencent Real-Time Communication (TRTC), such as audio and video conferences and online education.',
43
+ 'After a group is created, a user can join and quit the group freely. The group can have an unlimited number of members, but it does not store message history. It can be combined with Live Video Broadcasting (LVB) to support on-screen comment scenarios. See the documentation for details.': 'After a group is created, a user can join and quit the group freely. The group can have an unlimited number of members, but it does not store message history. It can be combined with Live Video Broadcasting (LVB) to support on-screen comment scenarios.',
44
+ 'After creation, you can enter and leave at will, support up to 100,000 people, support historical message storage, and after users search for group ID and initiate a group application, they can join the group without administrator approval. See product documentation for details.': 'After creation, you can enter and leave at will, support up to 100,000 people, support historical message storage, and after users search for group ID and initiate a group application, they can join the group without administrator approval.',
45
+ 'See the documentation for details': 'See the documentation for details.',
37
46
 
38
47
  // ConversationActions
39
48
  'Pin': 'Pin',
@@ -46,5 +55,16 @@ export default {
46
55
 
47
56
  // Details link
48
57
  'Details': 'Details',
58
+
59
+ // ConversationList
60
+ 'Drafts': 'Drafts',
61
+ 'Image': 'Image',
62
+ 'Audio': 'Audio',
63
+ 'Video': 'Video',
64
+ 'File': 'File',
65
+ 'Custom': 'Custom',
66
+ 'Location': 'Location',
67
+ 'Emoji': 'Emoji',
68
+ 'Chat History': 'Chat History',
49
69
  },
50
70
  };
@@ -6,15 +6,23 @@ export default {
6
6
  'Load failed': '加载失败',
7
7
  'Retry': '重试',
8
8
 
9
+ // ConversationSearch
10
+ 'You are not in the group, please join the group first': '你不在群组中,请先加入群组',
11
+
9
12
  // ConversationCreate
10
13
  'Start chat': '发起会话',
14
+ 'Start C2C Chat': '发起单人会话',
15
+ 'Start Group Chat': '发起多人会话',
11
16
  'Add Participants': '添加成员',
12
17
  'Search': '搜索',
13
18
  'New group chat': '新建群聊',
14
19
  'Next': '下一步',
20
+ 'Prev': '上一步',
21
+ 'Cancel': '取消',
15
22
  'Create': '创建',
16
23
 
17
24
  // ConversationCreateGroupDetail
25
+ 'Group Avatar': '群头像',
18
26
  'Group Name': '群名称',
19
27
  'Group ID': '群ID',
20
28
  'Group Type': '群类型',
@@ -29,11 +37,12 @@ export default {
29
37
  'Community': '社群',
30
38
 
31
39
  // Group type descriptions
32
- 'Users can join the group only via invitation by existing members. The invitation does not need to be agreed by the invitee or approved by the group owner. See the documentation for details.': '用户只能通过现有成员的邀请加入群组。邀请无需被邀请人同意或群主批准。详情请参阅文档。',
33
- 'After a public group is created, the group owner can designate group admins. To join the group, a user needs to search the group ID and send a request, which needs to be approved by the group owner or an admin before the user can join the group. See the documentation for details.': '公共群组创建后,群主可以指定群管理员。用户加入群组需要搜索群ID并发送请求,群主或管理员批准后方可加入。详情请参阅文档。',
34
- 'After the group is created, a user can join and quit the group freely and can view the messages sent before joining the group. It is suitable for scenarios that integrate Tencent Real-Time Communication (TRTC), such as audio and video conferences and online education. See the documentation for details.': '群组创建后,用户可以自由加入和退出群组,并可以查看加入群组前发送的消息。适用于音视频会议、在线教育等融合腾讯实时通信 (TRTC) 的场景。详情请参阅文档。',
35
- 'After a group is created, a user can join and quit the group freely. The group can have an unlimited number of members, but it does not store message history. It can be combined with Live Video Broadcasting (LVB) to support on-screen comment scenarios. See the documentation for details.': '群组创建后,用户可以自由加入和退出群组。群组成员数量不限,但不保存消息历史记录。可以与直播 (LVB) 结合,支持屏幕评论场景。详情请参阅文档。',
36
- 'After creation, you can enter and leave at will, support up to 100,000 people, support historical message storage, and after users search for group ID and initiate a group application, they can join the group without administrator approval. See product documentation for details.': '创建后可随意进出,最多支持10万人,支持历史消息存储,用户搜索群ID发起建群申请后,无需管理员审批即可加入。详情请参阅产品文档。',
40
+ 'Users can join the group only via invitation by existing members. The invitation does not need to be agreed by the invitee or approved by the group owner. See the documentation for details.': '用户只能通过现有成员的邀请加入群组。邀请无需被邀请人同意或群主批准。',
41
+ 'After a public group is created, the group owner can designate group admins. To join the group, a user needs to search the group ID and send a request, which needs to be approved by the group owner or an admin before the user can join the group. See the documentation for details.': '公共群组创建后,群主可以指定群管理员。用户加入群组需要搜索群ID并发送请求,群主或管理员批准后方可加入。',
42
+ 'After the group is created, a user can join and quit the group freely and can view the messages sent before joining the group. It is suitable for scenarios that integrate Tencent Real-Time Communication (TRTC), such as audio and video conferences and online education. See the documentation for details.': '群组创建后,用户可以自由加入和退出群组,并可以查看加入群组前发送的消息。适用于音视频会议、在线教育等融合腾讯实时通信 (TRTC) 的场景。',
43
+ 'After a group is created, a user can join and quit the group freely. The group can have an unlimited number of members, but it does not store message history. It can be combined with Live Video Broadcasting (LVB) to support on-screen comment scenarios. See the documentation for details.': '群组创建后,用户可以自由加入和退出群组。群组成员数量不限,但不保存消息历史记录。可以与直播 (LVB) 结合,支持屏幕评论场景。',
44
+ 'After creation, you can enter and leave at will, support up to 100,000 people, support historical message storage, and after users search for group ID and initiate a group application, they can join the group without administrator approval. See product documentation for details.': '创建后可随意进出,最多支持10万人,支持历史消息存储,用户搜索群ID发起建群申请后,无需管理员审批即可加入。',
45
+ 'See the documentation for details': '详情请参阅文档。',
37
46
 
38
47
  // ConversationActions
39
48
  'Pin': '置顶',
@@ -46,5 +55,16 @@ export default {
46
55
 
47
56
  // Details link
48
57
  'Details': '详情',
58
+
59
+ // ConversationList
60
+ 'Drafts': '草稿',
61
+ 'Image': '图片',
62
+ 'Audio': '音频',
63
+ 'Video': '视频',
64
+ 'File': '文件',
65
+ 'Custom': '自定义消息',
66
+ 'Location': '位置',
67
+ 'Emoji': '表情',
68
+ 'Chat History': '聊天记录',
49
69
  },
50
70
  };
@@ -1,8 +1,9 @@
1
- import LiveStreamView from './index.vue';
2
- import DefaultStreamViewUI from './DefaultStreamViewUI.vue';
3
1
  import { addI18n } from '../../i18n';
2
+ import DefaultStreamViewUI from './DefaultStreamViewUI.vue';
4
3
  import { enUSResource, zhCNResource } from './i18n';
4
+ import LiveCoreView from './index.vue';
5
+
5
6
  addI18n('en-US', { translation: enUSResource });
6
7
  addI18n('zh-CN', { translation: zhCNResource });
7
8
 
8
- export { LiveStreamView, DefaultStreamViewUI };
9
+ export { LiveCoreView, DefaultStreamViewUI };
@@ -1,34 +1,61 @@
1
1
  <template>
2
- <div class="live-stream-view-container" ref="liveStreamViewContainerRef">
3
- <div class="live-stream-view" :style="streamViewStyle">
4
- <div class="live-stream-placeholder" v-if="!$slots.localVideo && seatList.length === 0">
2
+ <div
3
+ ref="liveCoreViewContainerRef"
4
+ class="live-core-view-container"
5
+ >
6
+ <div
7
+ class="live-core-view"
8
+ :style="streamViewStyle"
9
+ >
10
+ <div
11
+ v-if="!$slots.localVideo && seatList.length === 0"
12
+ class="live-core-placeholder"
13
+ >
5
14
  <span class="placeholder-text">{{ t('No video') }}</span>
6
15
  </div>
7
- <div id="stream-content" class="stream-content"></div>
8
- <div class="live-stream-ui" v-if="needPlayStreamViewInfo.length > 0">
9
- <div v-for="(item, index) in needPlayStreamViewInfo" :key="`seat-${index}`" :style="item.region">
10
- <slot name="streamViewUI" v-bind="{ userInfo: item.userInfo }"></slot>
11
- <DefaultStreamViewUI :streamViewInfoList="needPlayStreamViewInfo" v-if="!$slots.streamViewUI" :userInfo="item.userInfo" />
16
+ <div
17
+ id="atomicx-live-stream-content"
18
+ class="stream-content"
19
+ />
20
+ <div
21
+ v-if="needPlayStreamViewInfo.length > 0"
22
+ class="live-core-ui"
23
+ >
24
+ <div
25
+ v-for="(item, index) in needPlayStreamViewInfo"
26
+ :key="`seat-${index}`"
27
+ :style="item.region"
28
+ >
29
+ <slot
30
+ name="streamViewUI"
31
+ v-bind="{ userInfo: item.userInfo }"
32
+ />
33
+ <DefaultStreamViewUI
34
+ v-if="!$slots.streamViewUI"
35
+ :streamViewInfoList="needPlayStreamViewInfo"
36
+ :userInfo="item.userInfo"
37
+ />
12
38
  </div>
13
39
  </div>
14
40
  <slot
15
- name="localVideo"
16
41
  v-if="$slots.localVideo && isMounted"
42
+ name="localVideo"
17
43
  v-bind="{ style: localStreamViewInfo?.region }"
18
- ></slot>
44
+ />
19
45
  </div>
20
46
  </div>
21
47
  </template>
22
48
 
23
49
  <script setup lang="ts">
24
- import { ref, computed, ComputedRef, watch, onMounted, onBeforeUnmount, useSlots } from 'vue';
25
- import DefaultStreamViewUI from './DefaultStreamViewUI.vue';
26
- import { getContentSize } from '../../utils/domOperation';
50
+ import { ref, computed, watch, onMounted, onBeforeUnmount, useSlots } from 'vue';
51
+ import type { ComputedRef } from 'vue';
52
+ import { useUIKit } from '@tencentcloud/uikit-base-component-vue3';
27
53
  import { useLiveSeatState } from '../../states/LiveSeatState';
28
- import { useLoginState } from '../../states/LoginState';
29
54
  import { useLiveState } from '../../states/LiveState';
30
- import { useUIKit } from '@tencentcloud/uikit-base-component-vue3';
31
- import { SeatUserInfo } from '../../types';
55
+ import { useLoginState } from '../../states/LoginState';
56
+ import { getContentSize } from '../../utils/domOperation';
57
+ import DefaultStreamViewUI from './DefaultStreamViewUI.vue';
58
+ import type { SeatUserInfo } from '../../types';
32
59
 
33
60
  const { t } = useUIKit();
34
61
  const { seatList, canvas, startPlayStream, stopPlayStream } = useLiveSeatState();
@@ -43,7 +70,7 @@ const isMounted = ref(false);
43
70
 
44
71
  onMounted(() => {
45
72
  isMounted.value = true;
46
- startPlayStream({ view: 'stream-content' });
73
+ startPlayStream({ view: 'atomicx-live-stream-content' });
47
74
  });
48
75
 
49
76
  onBeforeUnmount(() => {
@@ -51,6 +78,16 @@ onBeforeUnmount(() => {
51
78
  stopPlayStream();
52
79
  });
53
80
 
81
+ const isPortraitContainer = ref(true);
82
+ const liveCoreViewContainerRef = ref<HTMLDivElement>();
83
+ const originStreamViewStyle = ref({
84
+ width: 0,
85
+ height: 0,
86
+ transformX: 0,
87
+ transformY: 0,
88
+ scale: 1,
89
+ });
90
+
54
91
  const ratioLayoutList = computed(() => {
55
92
  const layoutCanvas = canvas.value;
56
93
  const layoutList = seatList.value?.map(seat => ({ userId: seat.userInfo?.userId, ...seat.region }));
@@ -67,29 +104,38 @@ const ratioLayoutList = computed(() => {
67
104
  }));
68
105
  });
69
106
 
70
- const seatListWithRealSize = computed(() => {
71
- return seatList.value.map((item, index) => {
72
- const ratioLayout = ratioLayoutList.value[index];
107
+ const streamViewSize = computed(() => {
108
+ if (isPortraitContainer.value) {
73
109
  return {
74
- userInfo: item.userInfo as SeatUserInfo,
75
- region: {
76
- position: 'absolute' as const,
77
- left: `${streamViewSize.value.width * ratioLayout.x}px`,
78
- top: `${streamViewSize.value.width * ratioLayout.y}px`,
79
- width: `${streamViewSize.value.width * ratioLayout.width}px`,
80
- height:
110
+ width: originStreamViewStyle.value.width,
111
+ height: originStreamViewStyle.value.height,
112
+ };
113
+ }
114
+ return {
115
+ width: originStreamViewStyle.value.width * originStreamViewStyle.value.scale,
116
+ height: originStreamViewStyle.value.height * originStreamViewStyle.value.scale,
117
+ };
118
+ });
119
+
120
+ const seatListWithRealSize = computed(() => seatList.value.map((item, index) => {
121
+ const ratioLayout = ratioLayoutList.value[index];
122
+ return {
123
+ userInfo: item.userInfo as SeatUserInfo,
124
+ region: {
125
+ position: 'absolute' as const,
126
+ left: `${streamViewSize.value.width * ratioLayout.x}px`,
127
+ top: `${streamViewSize.value.width * ratioLayout.y}px`,
128
+ width: `${streamViewSize.value.width * ratioLayout.width}px`,
129
+ height:
81
130
  ratioLayout.height === -1
82
131
  ? `${streamViewSize.value.height}px`
83
132
  : `${streamViewSize.value.width * ratioLayout.height}px`,
84
- zIndex: Number(ratioLayout.zOrder) || 0,
85
- },
86
- };
87
- });
88
- });
133
+ zIndex: Number(ratioLayout.zOrder) || 0,
134
+ },
135
+ };
136
+ }));
89
137
 
90
- const localStreamViewInfo = computed(() => {
91
- return seatListWithRealSize.value.find(item => item?.userInfo?.userId === loginUserInfo.value?.userId);
92
- });
138
+ const localStreamViewInfo = computed(() => seatListWithRealSize.value.find(item => item?.userInfo?.userId === loginUserInfo.value?.userId));
93
139
 
94
140
  const needPlayStreamViewInfo = computed(() => {
95
141
  if (ignoreLocalVideoPlay.value) {
@@ -98,20 +144,12 @@ const needPlayStreamViewInfo = computed(() => {
98
144
  return seatListWithRealSize.value;
99
145
  });
100
146
 
101
- // ----- 处理布局 -----
102
- // 根据 streamView 的父亲元素 A 大小获取一个流布局的容器 B,容器 B 符合 aspectRatio 比例
103
- // 根据传入的 props.config.layoutList,以流布局容器 B 为画布大小,计算出来所有可视区域 C 的大小和可视区域 C 的中心点坐标
104
- // 根据可视区域的 C 大小和 A 大小比例,计算出容器 B scale。根据 C 的中心点坐标和 B 的中心点坐标,计算出容器 B transformX、transformY(要保证 C 的中心点在 streamView 父元素 B 的中心点)
105
- // 根据容器 B scale transformXtransformY,计算出容器 B 的实际宽度、高度、transformXtransformY(这里不使用 scale 是为了不影响子元素中 text, img 的大小)
106
- // 根据容器 B 的实际大小,计算每一个子元素的实际位置和大小
107
- const liveStreamViewContainerRef = ref<HTMLDivElement>();
108
- const originStreamViewStyle = ref({
109
- width: 0,
110
- height: 0,
111
- transformX: 0,
112
- transformY: 0,
113
- scale: 1,
114
- });
147
+ // ----- Layout Processing -----
148
+ // Get a stream layout container B based on the size of streamView's parent element A, container B conforms to aspectRatio proportion
149
+ // Based on the passed props.config.layoutList, using stream layout container B as canvas size, calculate the size of all visible areas C and the center coordinates of visible area C
150
+ // Based on the size ratio of visible area C and A, calculate container B's scale. Based on the center coordinates of C and B, calculate container B's transformX and transformY (to ensure C's center point is at the center of streamView's parent element B)
151
+ // Based on container B's scale and transformX, transformY, calculate container B's actual width, height, transformX, transformY (scale is not used here to avoid affecting the size of text and img in child elements)
152
+ // Based on container B's actual size, calculate the actual position and size of each child element
115
153
 
116
154
  const visualStreamSize = computed(() => {
117
155
  if (ratioLayoutList.value.length === 0) {
@@ -122,16 +160,14 @@ const visualStreamSize = computed(() => {
122
160
  centerY: 0,
123
161
  };
124
162
  }
125
- const absoluteLayoutList = ratioLayoutList.value.map(item => {
126
- return {
127
- userId: item.userId,
128
- left: originStreamViewStyle.value.width * item.x,
129
- top: originStreamViewStyle.value.width * item.y,
130
- width: originStreamViewStyle.value.width * item.width,
131
- height: item.height === -1 ? originStreamViewStyle.value.height : originStreamViewStyle.value.width * item.height,
132
- zIndex: item.zOrder,
133
- };
134
- });
163
+ const absoluteLayoutList = ratioLayoutList.value.map(item => ({
164
+ userId: item.userId,
165
+ left: originStreamViewStyle.value.width * item.x,
166
+ top: originStreamViewStyle.value.width * item.y,
167
+ width: originStreamViewStyle.value.width * item.width,
168
+ height: item.height === -1 ? originStreamViewStyle.value.height : originStreamViewStyle.value.width * item.height,
169
+ zIndex: item.zOrder,
170
+ }));
135
171
  const minX = Math.min(...absoluteLayoutList.map(item => item.left));
136
172
  const minY = Math.min(...absoluteLayoutList.map(item => item.top));
137
173
  const maxX = Math.max(...absoluteLayoutList.map(item => item.left + item.width));
@@ -149,10 +185,10 @@ watch(visualStreamSize, () => {
149
185
  });
150
186
 
151
187
  function handleStreamListTransform() {
152
- if (!liveStreamViewContainerRef.value) {
188
+ if (!liveCoreViewContainerRef.value) {
153
189
  return;
154
190
  }
155
- const containerRect = liveStreamViewContainerRef.value.getBoundingClientRect();
191
+ const containerRect = liveCoreViewContainerRef.value.getBoundingClientRect();
156
192
  const containerWidth = Math.floor(containerRect.width);
157
193
  const containerHeight = Math.floor(containerRect.height);
158
194
 
@@ -171,19 +207,6 @@ function handleStreamListTransform() {
171
207
  }
172
208
  }
173
209
 
174
- const streamViewSize = computed(() => {
175
- if (isPortraitContainer.value) {
176
- return {
177
- width: originStreamViewStyle.value.width,
178
- height: originStreamViewStyle.value.height,
179
- };
180
- }
181
- return {
182
- width: originStreamViewStyle.value.width * originStreamViewStyle.value.scale,
183
- height: originStreamViewStyle.value.height * originStreamViewStyle.value.scale,
184
- };
185
- });
186
-
187
210
  const streamViewStyle = computed(() => {
188
211
  if (isPortraitContainer.value) {
189
212
  return {
@@ -224,11 +247,11 @@ const heightRatio: ComputedRef<number> = computed(() => {
224
247
  });
225
248
 
226
249
  function handleStreamRegionSize() {
227
- if (!liveStreamViewContainerRef.value) {
250
+ if (!liveCoreViewContainerRef.value) {
228
251
  return;
229
252
  }
230
- const containerWidth = getContentSize(liveStreamViewContainerRef.value).width;
231
- const containerHeight = getContentSize(liveStreamViewContainerRef.value).height;
253
+ const containerWidth = getContentSize(liveCoreViewContainerRef.value).width;
254
+ const containerHeight = getContentSize(liveCoreViewContainerRef.value).height;
232
255
  let width = containerWidth;
233
256
  let height = containerHeight;
234
257
  if (widthRatio.value && heightRatio.value) {
@@ -251,16 +274,14 @@ watch(
251
274
  () => aspectRatio.value,
252
275
  () => {
253
276
  handleStreamRegionSize();
254
- }
277
+ },
255
278
  );
256
279
 
257
- const isPortraitContainer = ref(true);
258
-
259
280
  const getContainerOrientation = () => {
260
- if (!liveStreamViewContainerRef.value) {
281
+ if (!liveCoreViewContainerRef.value) {
261
282
  return;
262
283
  }
263
- const containerRect = liveStreamViewContainerRef.value.getBoundingClientRect();
284
+ const containerRect = liveCoreViewContainerRef.value.getBoundingClientRect();
264
285
  isPortraitContainer.value = containerRect.width < containerRect.height;
265
286
  };
266
287
 
@@ -271,17 +292,17 @@ const ro = new ResizeObserver(() => {
271
292
  });
272
293
 
273
294
  onMounted(() => {
274
- ro.observe(liveStreamViewContainerRef.value as Element);
295
+ ro.observe(liveCoreViewContainerRef.value as Element);
275
296
  getContainerOrientation();
276
297
  });
277
298
 
278
299
  onBeforeUnmount(() => {
279
- ro.unobserve(liveStreamViewContainerRef.value as Element);
300
+ ro.unobserve(liveCoreViewContainerRef.value as Element);
280
301
  });
281
302
  </script>
282
303
 
283
304
  <style scoped lang="scss">
284
- .live-stream-view-container {
305
+ .live-core-view-container {
285
306
  width: 100%;
286
307
  height: 100%;
287
308
  display: flex;
@@ -289,12 +310,12 @@ onBeforeUnmount(() => {
289
310
  align-items: center;
290
311
  justify-content: center;
291
312
 
292
- .live-stream-view {
313
+ .live-core-view {
293
314
  width: 100%;
294
315
  height: 100%;
295
316
  position: relative;
296
317
 
297
- .live-stream-placeholder {
318
+ .live-core-placeholder {
298
319
  position: absolute;
299
320
  top: 0;
300
321
  left: 0;
@@ -320,7 +341,7 @@ onBeforeUnmount(() => {
320
341
  left: 0;
321
342
  }
322
343
 
323
- .live-stream-ui {
344
+ .live-core-ui {
324
345
  width: 100%;
325
346
  height: 100%;
326
347
  position: absolute;