tuikit-atomicx-vue3 3.4.2 → 3.5.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/.eslintrc.cjs +1 -0
  2. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-D1G-LitO.js → MessageInput.vue_vue_type_script_setup_true_lang-jPzZ5INK.js} +38 -36
  3. package/dist/baseComp/Modal/Modal.js +431 -23
  4. package/dist/chat/index.d.ts +68 -53
  5. package/dist/chat/server.js +15 -15
  6. package/dist/components/AudioSetting/AudioMediaControl.js +39 -41
  7. package/dist/components/AudioSetting/AudioSettingTab.js +10 -10
  8. package/dist/components/AudioSetting/MicrophoneSelect.js +8 -8
  9. package/dist/components/AudioSetting/SpeakerSelect.js +9 -9
  10. package/dist/components/AudioSettingPanel/i18n/en-US/index.d.ts +1 -0
  11. package/dist/components/AudioSettingPanel/i18n/en-US/index.js +2 -1
  12. package/dist/components/AudioSettingPanel/i18n/zh-CN/index.d.ts +1 -0
  13. package/dist/components/AudioSettingPanel/i18n/zh-CN/index.js +2 -1
  14. package/dist/components/AudioSettingPanel/index.js +81 -73
  15. package/dist/components/BarrageInput/BarrageInputH5.js +9 -9
  16. package/dist/components/BarrageInput/EmojiPicker/EmojiPicker.js +3 -3
  17. package/dist/components/BarrageInput/MessageInputState.d.ts +28 -0
  18. package/dist/components/BarrageInput/MessageInputState.js +82 -0
  19. package/dist/components/BarrageInput/TextEditor/CharacterCountExtension.js +1 -1
  20. package/dist/components/BarrageInput/TextEditor/EditorCore.js +5 -4
  21. package/dist/components/BarrageInput/TextEditor/index.js +7 -7
  22. package/dist/components/BarrageInput/type.d.ts +17 -0
  23. package/dist/components/BarrageInput/type.js +4 -0
  24. package/dist/components/BarrageInput/utils.d.ts +30 -0
  25. package/dist/components/BarrageInput/utils.js +41 -0
  26. package/dist/components/BarrageList/BarrageList.js +80 -110
  27. package/dist/components/BarrageList/BarrageList.vue.d.ts +0 -29
  28. package/dist/components/BarrageList/BarrageListH5.js +95 -122
  29. package/dist/components/BarrageList/BarrageListH5.vue.d.ts +0 -29
  30. package/dist/components/BarrageList/BarrageListState.d.ts +58 -0
  31. package/dist/components/BarrageList/BarrageListState.js +106 -0
  32. package/dist/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.js +16 -24
  33. package/dist/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.vue.d.ts +5 -5
  34. package/dist/components/BarrageList/Message/MessageLayout/MessageLayout.js +48 -73
  35. package/dist/components/BarrageList/Message/MessageLayout/MessageLayout.vue.d.ts +5 -7
  36. package/dist/components/BarrageList/Message/TextMessage/TextMessage.js +70 -76
  37. package/dist/components/BarrageList/Message/TextMessage/TextMessage.vue.d.ts +6 -6
  38. package/dist/components/BarrageList/Message/TextMessage/emoji.d.ts +5 -0
  39. package/dist/components/BarrageList/Message/TextMessage/emoji.js +134 -0
  40. package/dist/components/BarrageList/index.d.ts +0 -36
  41. package/dist/components/CameraButton/index.js +18 -19
  42. package/dist/components/ChatSetting/GroupChatSetting/GroupChatSetting.js +2 -1
  43. package/dist/components/CoGuestPanel/CoGuestPanel.js +60 -60
  44. package/dist/components/CoHostPanel/BattlePanel.js +11 -11
  45. package/dist/components/CoHostPanel/CoHostPanel.js +10 -10
  46. package/dist/components/CoHostPanel/ConfigSettingPanel.js +49 -55
  47. package/dist/components/CoHostPanel/ConnectionPanel.js +132 -123
  48. package/dist/components/CoHostPanel/RecommendHostList.js +39 -36
  49. package/dist/components/CoHostPanel/constants.d.ts +3 -0
  50. package/dist/components/CoHostPanel/constants.js +6 -0
  51. package/dist/components/CoHostPanel/i18n/en-US/index.d.ts +1 -0
  52. package/dist/components/CoHostPanel/i18n/en-US/index.js +2 -1
  53. package/dist/components/CoHostPanel/i18n/zh-CN/index.d.ts +1 -0
  54. package/dist/components/CoHostPanel/i18n/zh-CN/index.js +3 -2
  55. package/dist/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.js +6 -6
  56. package/dist/components/ContactList/ContactInfo/ContactInfo.js +1 -1
  57. package/dist/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.js +1 -1
  58. package/dist/components/ContactList/ContactInfo/FriendInfo/FriendInfo.js +9 -9
  59. package/dist/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.js +1 -1
  60. package/dist/components/ContactList/ContactInfo/GroupInfo/GroupInfo.js +4 -4
  61. package/dist/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.js +8 -8
  62. package/dist/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.js +7 -7
  63. package/dist/components/ContactList/ContactList.js +7 -7
  64. package/dist/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.js +8 -8
  65. package/dist/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.js +5 -5
  66. package/dist/components/ContactList/ContactListItem/FriendItem/FriendItem.js +5 -5
  67. package/dist/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.js +1 -1
  68. package/dist/components/ContactList/ContactListItem/GroupItem/GroupItem.js +1 -1
  69. package/dist/components/ContactList/ContactSearch/ContactSearch.js +6 -6
  70. package/dist/components/ConversationList/ConversationActions/ConversationActions.js +49 -51
  71. package/dist/components/ConversationList/ConversationCreate/ConversationCreate.js +9 -9
  72. package/dist/components/ConversationList/ConversationList.js +4 -4
  73. package/dist/components/ConversationList/ConversationList.vue.d.ts +10 -10
  74. package/dist/components/ConversationList/ConversationPreview/ConversationPreview.vue.d.ts +10 -10
  75. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.js +31 -29
  76. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.js +20 -20
  77. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue.d.ts +2 -2
  78. package/dist/components/ConversationList/ConversationPreview/index.js +1 -1
  79. package/dist/components/ConversationList/index.d.ts +30 -30
  80. package/dist/components/LiveAudienceList/LiveAudienceList.js +44 -45
  81. package/dist/components/LiveAudienceList/LiveAudienceListH5.js +7 -7
  82. package/dist/components/LiveAudienceList/UserActionMenu.js +57 -64
  83. package/dist/components/LiveList/LiveList.js +23 -23
  84. package/dist/components/LiveList/LiveListH5.js +38 -38
  85. package/dist/components/LiveScenePanel/CameraSettingDialog.js +10 -10
  86. package/dist/components/LiveScenePanel/MaterialItem.js +15 -15
  87. package/dist/components/LiveScenePanel/index.js +4 -4
  88. package/dist/components/LiveView/CoreViewDecorate/BattleDecorate.js +58 -58
  89. package/dist/components/LiveView/CoreViewDecorate/BattleUserDecorate.js +6 -6
  90. package/dist/components/LiveView/CoreViewDecorate/CoHostDecorate.js +5 -5
  91. package/dist/components/LiveView/DefaultStreamViewUI.js +44 -41
  92. package/dist/components/LiveView/PlayerControl/AudioControl.js +97 -93
  93. package/dist/components/LiveView/PlayerControl/AudioControl.vue.d.ts +10 -6
  94. package/dist/components/LiveView/PlayerControl/MultiResolution.js +57 -62
  95. package/dist/components/LiveView/PlayerControl/PlayerControl.js +79 -79
  96. package/dist/components/LiveView/PlayerControl/PlayerControlState.d.ts +2 -2
  97. package/dist/components/LiveView/PlayerControl/PlayerControlState.js +164 -209
  98. package/dist/components/LiveView/PlayerControl/utils/domHelpers.d.ts +8 -1
  99. package/dist/components/LiveView/PlayerControl/utils/domHelpers.js +57 -24
  100. package/dist/components/LiveView/i18n/en-US/index.d.ts +2 -2
  101. package/dist/components/LiveView/i18n/en-US/index.js +2 -2
  102. package/dist/components/LiveView/i18n/zh-CN/index.d.ts +2 -2
  103. package/dist/components/LiveView/i18n/zh-CN/index.js +2 -2
  104. package/dist/components/LiveView/index.js +17 -17
  105. package/dist/components/MessageInput/AudioCallPicker/AudioCallPicker.js +63 -65
  106. package/dist/components/MessageInput/EmojiPicker/EmojiPicker.js +88 -84
  107. package/dist/components/MessageInput/MessageInput.js +1 -1
  108. package/dist/components/MessageInput/MessageInput.vue.d.ts +5 -2
  109. package/dist/components/MessageInput/TextEditor/EditorCore.d.ts +3 -1
  110. package/dist/components/MessageInput/TextEditor/EditorCore.js +51 -63
  111. package/dist/components/MessageInput/TextEditor/TextEditor.vue.d.ts +6 -2
  112. package/dist/components/MessageInput/TextEditor/extensions/characterCountExtension.d.ts +19 -0
  113. package/dist/components/MessageInput/TextEditor/extensions/characterCountExtension.js +74 -0
  114. package/dist/components/MessageInput/TextEditor/extensions/imageExtension.d.ts +2 -0
  115. package/dist/components/MessageInput/TextEditor/extensions/imageExtension.js +62 -0
  116. package/dist/components/MessageInput/TextEditor/index.js +45 -35
  117. package/dist/components/MessageInput/VideoCallPicker/VideoCallPicker.js +67 -69
  118. package/dist/components/MessageInput/i18n/index.d.ts +4 -0
  119. package/dist/components/MessageInput/i18n/zh-CN.d.ts +4 -0
  120. package/dist/components/MessageInput/i18n/zh-CN.js +5 -1
  121. package/dist/components/MessageInput/index.d.ts +36 -6
  122. package/dist/components/MessageInput/index.js +1 -1
  123. package/dist/components/MessageList/Message/AudioMessage/WaveForm.js +24 -34
  124. package/dist/components/MessageList/Message/CustomMessage/CallMessage/CallMessage.js +29 -28
  125. package/dist/components/MessageList/Message/GroupTipMessage/index.js +13 -13
  126. package/dist/components/MessageList/Message/Message.vue.d.ts +1 -1
  127. package/dist/components/MessageList/Message/MessageLayout/MessageLayout.js +63 -69
  128. package/dist/components/MessageList/Message/VideoMessage/VideoMessage.js +48 -53
  129. package/dist/components/MessageList/Message/VideoMessage/VideoMessage.vue.d.ts +8 -8
  130. package/dist/components/MessageList/MessageList.js +8 -6
  131. package/dist/components/MessageList/MessageList.vue.d.ts +2 -2
  132. package/dist/components/MessageList/i18n/en-US.d.ts +65 -1
  133. package/dist/components/MessageList/i18n/en-US.js +66 -2
  134. package/dist/components/MessageList/i18n/index.d.ts +128 -0
  135. package/dist/components/MessageList/i18n/index.js +6 -6
  136. package/dist/components/MessageList/i18n/zh-CN.d.ts +65 -1
  137. package/dist/components/MessageList/i18n/zh-CN.js +64 -0
  138. package/dist/components/MessageList/index.d.ts +20 -20
  139. package/dist/components/MicButton/index.js +11 -11
  140. package/dist/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.js +172 -174
  141. package/dist/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.js +58 -60
  142. package/dist/components/Search/SearchAdvanced/SearchAdvanced.js +28 -30
  143. package/dist/components/Search/SearchAdvanced/SearchTab/SearchTab.js +22 -24
  144. package/dist/components/Search/SearchAdvanced/Slider/Slider.js +26 -28
  145. package/dist/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.js +133 -135
  146. package/dist/components/Search/SearchBar/SearchBar.js +56 -58
  147. package/dist/components/StreamMixer/LocalMixer/MixerControl.js +12 -12
  148. package/dist/components/StreamMixer/LocalMixer/index.js +66 -63
  149. package/dist/components/StreamView/Layout/CustomLayout.js +8 -8
  150. package/dist/components/StreamView/Layout/FloatLayout.js +124 -127
  151. package/dist/components/StreamView/Layout/GridLayout.js +5 -5
  152. package/dist/components/StreamView/index.js +25 -33
  153. package/dist/components/StreamView/manager/mediaManager.js +54 -60
  154. package/dist/components/UIKitModal/UIKitModal.d.ts +7 -0
  155. package/dist/components/UIKitModal/UIKitModal.js +156 -0
  156. package/dist/components/UIKitModal/index.d.ts +1 -0
  157. package/dist/components/UIKitModal/index.js +4 -0
  158. package/dist/components/{BarrageList/Message/RecalledMessage/RecalledMessage.vue.d.ts → UIKitModal/index.vue.d.ts} +24 -14
  159. package/dist/components/UIKitModal/type.d.ts +21 -0
  160. package/dist/components/UIKitModal/type.js +1 -0
  161. package/dist/components/UserPicker/UserPicker.js +1 -2
  162. package/dist/components/UserPicker/components/SelectedPanel/SelectedPanel.js +19 -18
  163. package/dist/components/UserPicker/hooks/useSearchFilter.d.ts +2 -2
  164. package/dist/components/UserPicker/hooks/useSearchFilter.js +39 -31
  165. package/dist/components/UserPicker/i18n/en-US.d.ts +1 -0
  166. package/dist/components/UserPicker/i18n/en-US.js +2 -1
  167. package/dist/components/UserPicker/i18n/index.d.ts +2 -0
  168. package/dist/components/UserPicker/i18n/zh-CN.d.ts +1 -0
  169. package/dist/components/UserPicker/i18n/zh-CN.js +2 -1
  170. package/dist/components/UserPicker/index.d.ts +2 -2
  171. package/dist/components/UserPicker/type.d.ts +1 -1
  172. package/dist/components/VideoSetting/CameraSelect.js +8 -8
  173. package/dist/components/VideoSetting/VideoMediaControl.js +10 -10
  174. package/dist/components/VideoSetting/VideoPreview.js +9 -9
  175. package/dist/components/VideoSetting/VideoProfile.js +6 -6
  176. package/dist/components/VideoSetting/VideoSettingTab.js +40 -39
  177. package/dist/components/VideoSettingPanel/CameraSelect.js +8 -8
  178. package/dist/components/VideoSettingPanel/VideoPreview.js +1 -1
  179. package/dist/components/VideoSettingPanel/VideoProfile.js +18 -18
  180. package/dist/hooks/useAudioControl.d.ts +3 -3
  181. package/dist/hooks/useAudioControl.js +32 -30
  182. package/dist/hooks/useRoomEngine.js +6 -6
  183. package/dist/index-B_-9wgM4.js +64 -0
  184. package/dist/{index-Bm-QfV5o.js → index-DMfTuy0v.js} +574 -631
  185. package/dist/{index-D2OVtqc8.js → index-DV6o6s43.js} +946 -915
  186. package/dist/index.d.ts +3 -1
  187. package/dist/index.js +164 -142
  188. package/dist/report/MetricsKey.d.ts +16 -0
  189. package/dist/report/MetricsKey.js +4 -0
  190. package/dist/report/dataReport.d.ts +12 -0
  191. package/dist/report/dataReport.js +45 -0
  192. package/dist/report/index.d.ts +4 -0
  193. package/dist/report/index.js +6 -0
  194. package/dist/rtc/index.d.ts +5 -43
  195. package/dist/rtc/index.js +48 -48
  196. package/dist/rtc/server.js +45 -40
  197. package/dist/states/BarrageState/BarrageState.d.ts +74 -0
  198. package/dist/states/BarrageState/BarrageState.js +80 -0
  199. package/dist/states/BarrageState/index.d.ts +1 -0
  200. package/dist/states/BarrageState/index.js +5 -0
  201. package/dist/states/{BattleState.d.ts → BattleState/BattleState.d.ts} +10 -11
  202. package/dist/states/BattleState/BattleState.js +203 -0
  203. package/dist/states/BattleState/index.d.ts +1 -0
  204. package/dist/states/BattleState/index.js +4 -0
  205. package/dist/states/CoGuestState.d.ts +24 -94
  206. package/dist/states/CoGuestState.js +297 -189
  207. package/dist/states/CoHostState/CoHostState.d.ts +2 -2
  208. package/dist/states/CoHostState/CoHostState.js +135 -131
  209. package/dist/states/{DeviceState.d.ts → DeviceState/DeviceState.d.ts} +25 -13
  210. package/dist/states/DeviceState/DeviceState.js +314 -0
  211. package/dist/states/DeviceState/index.d.ts +1 -0
  212. package/dist/states/DeviceState/index.js +4 -0
  213. package/dist/states/LiveAudienceState.d.ts +3 -1
  214. package/dist/states/LiveAudienceState.js +106 -63
  215. package/dist/states/{LiveState/index.d.ts → LiveListState/LiveListState.d.ts} +13 -8
  216. package/dist/states/LiveListState/LiveListState.js +285 -0
  217. package/dist/states/LiveListState/index.d.ts +1 -0
  218. package/dist/states/LiveListState/index.js +4 -0
  219. package/dist/states/LiveMonitorState/api/http.js +147 -129
  220. package/dist/states/LiveMonitorState/index.js +67 -62
  221. package/dist/states/LiveMonitorState/player/adapters/trtc.js +6 -6
  222. package/dist/states/LiveSeatState/index.d.ts +46 -11
  223. package/dist/states/LiveSeatState/index.js +34 -15
  224. package/dist/states/LiveSeatState/seatEventManager.d.ts +2 -0
  225. package/dist/states/LiveSeatState/seatEventManager.js +63 -42
  226. package/dist/states/LiveSeatState/seatManager.d.ts +34 -5
  227. package/dist/states/LiveSeatState/seatManager.js +131 -29
  228. package/dist/states/LiveSeatState/store.d.ts +5 -5
  229. package/dist/states/LiveSeatState/store.js +12 -10
  230. package/dist/states/LiveSeatState/usePlayStream/RTCStreamManager.js +1 -1
  231. package/dist/states/LiveSeatState/usePlayStream/RTCStreamPlayer.js +1 -1
  232. package/dist/states/LiveSeatState/usePlayStream/index.js +30 -28
  233. package/dist/states/LoginState.d.ts +23 -0
  234. package/dist/states/MessageInputState/MessageInputState.d.ts +41 -7
  235. package/dist/states/MessageInputState/MessageInputState.js +60 -59
  236. package/dist/states/MessageInputState/utils.d.ts +8 -1
  237. package/dist/states/MessageInputState/utils.js +30 -10
  238. package/dist/states/SeatStore.js +82 -83
  239. package/dist/states/UIKitModalState/UIKitModalState.d.ts +17 -0
  240. package/dist/states/UIKitModalState/UIKitModalState.js +63 -0
  241. package/dist/states/UIKitModalState/index.d.ts +1 -0
  242. package/dist/states/UIKitModalState/index.js +4 -0
  243. package/dist/states/{VideoMixerState.d.ts → VideoMixerState/VideoMixerState.d.ts} +1 -1
  244. package/dist/states/VideoMixerState/VideoMixerState.js +269 -0
  245. package/dist/states/VideoMixerState/index.d.ts +1 -0
  246. package/dist/states/VideoMixerState/index.js +4 -0
  247. package/dist/styles/index.css +1 -1
  248. package/dist/types/audience.d.ts +21 -0
  249. package/dist/types/audience.js +4 -1
  250. package/dist/types/battle.d.ts +75 -3
  251. package/dist/types/battle.js +5 -1
  252. package/dist/types/coGuest.d.ts +72 -5
  253. package/dist/types/coGuest.js +4 -2
  254. package/dist/types/device.d.ts +38 -17
  255. package/dist/types/device.js +10 -8
  256. package/dist/types/index.d.ts +2 -2
  257. package/dist/types/index.js +96 -80
  258. package/dist/types/live.d.ts +36 -21
  259. package/dist/types/live.js +6 -4
  260. package/dist/types/seat.d.ts +23 -4
  261. package/dist/types/seat.js +7 -1
  262. package/dist/utils/call.d.ts +1 -1
  263. package/dist/utils/call.js +78 -79
  264. package/dist/utils/eventCenter.d.ts +88 -0
  265. package/dist/utils/eventCenter.js +161 -0
  266. package/package.json +4 -3
  267. package/src/chat/server.ts +0 -1
  268. package/src/components/AudioSetting/AudioMediaControl.vue +1 -3
  269. package/src/components/AudioSetting/AudioSettingTab.vue +1 -2
  270. package/src/components/AudioSetting/MicrophoneSelect.vue +1 -2
  271. package/src/components/AudioSetting/SpeakerSelect.vue +1 -2
  272. package/src/components/AudioSettingPanel/i18n/en-US/index.ts +1 -0
  273. package/src/components/AudioSettingPanel/i18n/zh-CN/index.ts +1 -0
  274. package/src/components/AudioSettingPanel/index.vue +4 -2
  275. package/src/components/BarrageInput/BarrageInputH5.vue +1 -1
  276. package/src/components/BarrageInput/EmojiPicker/EmojiPicker.vue +1 -1
  277. package/src/components/BarrageInput/MessageInputState.ts +160 -0
  278. package/src/components/BarrageInput/TextEditor/TextEditor.vue +1 -1
  279. package/src/components/BarrageInput/type.ts +26 -0
  280. package/src/components/BarrageInput/utils.ts +45 -0
  281. package/src/components/BarrageList/BarrageList.vue +61 -117
  282. package/src/components/BarrageList/BarrageListH5.vue +75 -159
  283. package/src/components/BarrageList/BarrageListState.ts +223 -0
  284. package/src/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.vue +8 -55
  285. package/src/components/BarrageList/Message/MessageLayout/MessageLayout.vue +19 -44
  286. package/src/components/BarrageList/Message/TextMessage/TextMessage.vue +69 -96
  287. package/src/components/BarrageList/Message/TextMessage/emoji.ts +132 -0
  288. package/src/components/CameraButton/index.vue +0 -1
  289. package/src/components/ChatSetting/GroupChatSetting/GroupChatSetting.vue +5 -0
  290. package/src/components/CoGuestPanel/CoGuestPanel.vue +16 -91
  291. package/src/components/CoHostPanel/BattlePanel.vue +1 -4
  292. package/src/components/CoHostPanel/ConfigSettingPanel.vue +2 -8
  293. package/src/components/CoHostPanel/ConnectionPanel.vue +37 -33
  294. package/src/components/CoHostPanel/RecommendHostList.vue +12 -13
  295. package/src/components/CoHostPanel/constants.ts +3 -0
  296. package/src/components/CoHostPanel/i18n/en-US/index.ts +1 -0
  297. package/src/components/CoHostPanel/i18n/zh-CN/index.ts +2 -1
  298. package/src/components/ContactList/ContactInfo/BlacklistInfo/BlacklistInfo.vue +1 -1
  299. package/src/components/ContactList/ContactInfo/ContactInfo.vue +1 -1
  300. package/src/components/ContactList/ContactInfo/FriendApplicationInfo/FriendApplicationInfo.vue +1 -1
  301. package/src/components/ContactList/ContactInfo/FriendInfo/FriendInfo.vue +1 -1
  302. package/src/components/ContactList/ContactInfo/GroupApplicationInfo/GroupApplicationInfo.vue +1 -1
  303. package/src/components/ContactList/ContactInfo/GroupInfo/GroupInfo.vue +1 -1
  304. package/src/components/ContactList/ContactInfo/SearchGroupInfo/SearchGroupInfo.vue +1 -1
  305. package/src/components/ContactList/ContactInfo/SearchUserInfo/SearchUserInfo.vue +1 -1
  306. package/src/components/ContactList/ContactList.vue +1 -1
  307. package/src/components/ContactList/ContactListItem/BlacklistItem/BlacklistItem.vue +1 -1
  308. package/src/components/ContactList/ContactListItem/FriendApplicationItem/FriendApplicationItem.vue +1 -1
  309. package/src/components/ContactList/ContactListItem/FriendItem/FriendItem.vue +1 -1
  310. package/src/components/ContactList/ContactListItem/GroupApplicationItem/GroupApplicationItem.vue +1 -1
  311. package/src/components/ContactList/ContactListItem/GroupItem/GroupItem.vue +1 -1
  312. package/src/components/ContactList/ContactSearch/ContactSearch.vue +1 -1
  313. package/src/components/ConversationList/ConversationActions/ConversationActions.vue +2 -8
  314. package/src/components/ConversationList/ConversationCreate/ConversationCreate.vue +2 -2
  315. package/src/components/ConversationList/ConversationCreate/ConversationCreateButton/ConversationCreateButton.vue +1 -1
  316. package/src/components/ConversationList/ConversationCreate/ConversationCreateGroupDetail/ConversationCreateGroupDetail.vue +1 -1
  317. package/src/components/ConversationList/ConversationCreate/ConversationCreateUserSelectList/ConversationCreateUserSelectList.vue +1 -1
  318. package/src/components/ConversationList/ConversationCreate/ConversationGroupTypeInfo/ConversationGroupTypeInfo.vue +1 -1
  319. package/src/components/ConversationList/ConversationList.vue +2 -2
  320. package/src/components/ConversationList/ConversationListContent/ConversationListContent.vue +1 -1
  321. package/src/components/ConversationList/ConversationListHeader/ConversationListHeader.vue +1 -1
  322. package/src/components/ConversationList/ConversationPlaceHolder/ConversationPlaceHolder.vue +1 -1
  323. package/src/components/ConversationList/ConversationPreview/ConversationPreview.vue +1 -1
  324. package/src/components/ConversationList/ConversationPreview/ConversationPreviewAbstract.vue +1 -1
  325. package/src/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.vue +4 -4
  326. package/src/components/ConversationList/ConversationPreview/ConversationPreviewTitle.vue +1 -1
  327. package/src/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue +3 -3
  328. package/src/components/ConversationList/ConversationPreview/ConversationPreviewUnread.vue +1 -1
  329. package/src/components/ConversationList/ConversationSearch/ConversationSearch.vue +1 -1
  330. package/src/components/LiveAudienceList/LiveAudienceList.vue +4 -5
  331. package/src/components/LiveAudienceList/LiveAudienceListH5.vue +2 -2
  332. package/src/components/LiveAudienceList/UserActionMenu.vue +7 -48
  333. package/src/components/LiveList/LiveList.vue +5 -5
  334. package/src/components/LiveList/LiveListH5.vue +6 -6
  335. package/src/components/LiveScenePanel/index.vue +2 -2
  336. package/src/components/LiveView/CoreViewDecorate/BattleDecorate.vue +10 -15
  337. package/src/components/LiveView/CoreViewDecorate/BattleUserDecorate.vue +2 -2
  338. package/src/components/LiveView/DefaultStreamViewUI.vue +5 -3
  339. package/src/components/LiveView/PlayerControl/AudioControl.vue +72 -80
  340. package/src/components/LiveView/PlayerControl/MultiResolution.vue +30 -21
  341. package/src/components/LiveView/PlayerControl/PlayerControl.vue +26 -42
  342. package/src/components/LiveView/PlayerControl/PlayerControlState.ts +253 -455
  343. package/src/components/LiveView/PlayerControl/utils/domHelpers.ts +68 -4
  344. package/src/components/LiveView/i18n/en-US/index.ts +2 -2
  345. package/src/components/LiveView/i18n/zh-CN/index.ts +2 -2
  346. package/src/components/LiveView/index.vue +3 -2
  347. package/src/components/MessageInput/AudioCallPicker/AudioCallPicker.vue +8 -6
  348. package/src/components/MessageInput/EmojiPicker/EmojiPicker.vue +7 -3
  349. package/src/components/MessageInput/MessageInput.module.scss +1 -0
  350. package/src/components/MessageInput/MessageInput.vue +3 -1
  351. package/src/components/MessageInput/TextEditor/EditorCore.ts +17 -28
  352. package/src/components/MessageInput/TextEditor/TextEditor.vue +24 -4
  353. package/src/components/MessageInput/TextEditor/extensions/characterCountExtension.ts +159 -0
  354. package/src/components/MessageInput/TextEditor/extensions/imageExtension.ts +79 -0
  355. package/src/components/MessageInput/VideoCallPicker/VideoCallPicker.vue +8 -6
  356. package/src/components/MessageInput/i18n/zh-CN.ts +4 -0
  357. package/src/components/MessageInput/types.d.ts +1 -0
  358. package/src/components/MessageList/Message/AudioMessage/WaveForm.vue +20 -37
  359. package/src/components/MessageList/Message/CustomMessage/CallMessage/CallMessage.vue +5 -3
  360. package/src/components/MessageList/Message/GroupTipMessage/GroupTipMessage.vue +5 -4
  361. package/src/components/MessageList/Message/Message.vue +1 -1
  362. package/src/components/MessageList/Message/MessageLayout/MessageLayout.vue +8 -8
  363. package/src/components/MessageList/Message/VideoMessage/VideoMessage.vue +46 -43
  364. package/src/components/MessageList/Message/VideoMessage/index.ts +1 -1
  365. package/src/components/MessageList/MessageList.vue +2 -0
  366. package/src/components/MessageList/i18n/en-US.ts +66 -0
  367. package/src/components/MessageList/i18n/index.ts +4 -4
  368. package/src/components/MessageList/i18n/zh-CN.ts +66 -0
  369. package/src/components/MicButton/index.vue +3 -3
  370. package/src/components/Search/Search.vue +1 -1
  371. package/src/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.scss +1 -4
  372. package/src/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.vue +1 -1
  373. package/src/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.scss +1 -4
  374. package/src/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.vue +1 -1
  375. package/src/components/Search/SearchAdvanced/SearchAdvanced.scss +1 -4
  376. package/src/components/Search/SearchAdvanced/SearchAdvanced.vue +1 -1
  377. package/src/components/Search/SearchAdvanced/SearchTab/SearchTab.scss +1 -4
  378. package/src/components/Search/SearchAdvanced/SearchTab/SearchTab.vue +1 -1
  379. package/src/components/Search/SearchAdvanced/Slider/Slider.scss +1 -4
  380. package/src/components/Search/SearchAdvanced/Slider/Slider.vue +1 -1
  381. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.scss +1 -4
  382. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.vue +1 -1
  383. package/src/components/Search/SearchBar/SearchBar.scss +3 -6
  384. package/src/components/Search/SearchBar/SearchBar.vue +1 -1
  385. package/src/components/Search/SearchResults/EmptyResult/EmptyResult.vue +1 -1
  386. package/src/components/Search/SearchResults/Loading/Loading.vue +1 -1
  387. package/src/components/Search/SearchResults/SearchResults.vue +1 -1
  388. package/src/components/Search/SearchResults/SearchResultsItem/Conversation/Conversation.vue +1 -1
  389. package/src/components/Search/SearchResults/SearchResultsItem/Group/Group.vue +1 -1
  390. package/src/components/Search/SearchResults/SearchResultsItem/Message/Message.vue +1 -1
  391. package/src/components/Search/SearchResults/SearchResultsItem/SearchResultsItem.vue +1 -1
  392. package/src/components/Search/SearchResults/SearchResultsItem/User/User.vue +1 -1
  393. package/src/components/StreamMixer/LocalMixer/index.vue +6 -8
  394. package/src/components/StreamView/Layout/CustomLayout.vue +2 -2
  395. package/src/components/StreamView/Layout/FloatLayout.vue +88 -83
  396. package/src/components/StreamView/index.vue +28 -14
  397. package/src/components/StreamView/manager/mediaManager.ts +38 -42
  398. package/src/components/UIKitModal/UIKitModal.ts +71 -0
  399. package/src/components/UIKitModal/index.scss +134 -0
  400. package/src/components/UIKitModal/index.ts +1 -0
  401. package/src/components/UIKitModal/index.vue +160 -0
  402. package/src/components/UIKitModal/type.ts +24 -0
  403. package/src/components/UserPicker/UserPicker.vue +1 -1
  404. package/src/components/UserPicker/components/SelectedPanel/SelectedPanel.vue +1 -0
  405. package/src/components/UserPicker/hooks/useSearchFilter.ts +27 -18
  406. package/src/components/UserPicker/i18n/en-US.ts +1 -0
  407. package/src/components/UserPicker/i18n/zh-CN.ts +1 -0
  408. package/src/components/UserPicker/type.ts +1 -1
  409. package/src/components/VideoSetting/CameraSelect.vue +1 -2
  410. package/src/components/VideoSetting/VideoMediaControl.vue +1 -1
  411. package/src/components/VideoSetting/VideoPreview.vue +1 -2
  412. package/src/components/VideoSetting/VideoProfile.vue +1 -1
  413. package/src/components/VideoSetting/VideoSettingTab.vue +9 -5
  414. package/src/components/VideoSettingPanel/CameraSelect.vue +1 -2
  415. package/src/components/VideoSettingPanel/VideoProfile.vue +7 -7
  416. package/src/hooks/useAudioControl.ts +17 -4
  417. package/src/hooks/useRoomEngine.ts +1 -1
  418. package/src/index.ts +3 -0
  419. package/src/report/MetricsKey.ts +16 -0
  420. package/src/report/dataReport.ts +55 -0
  421. package/src/report/index.ts +7 -0
  422. package/src/rtc/index.ts +7 -9
  423. package/src/rtc/server.ts +4 -0
  424. package/src/types/audience.ts +27 -1
  425. package/src/types/battle.ts +87 -4
  426. package/src/types/coGuest.ts +87 -5
  427. package/src/types/device.ts +41 -16
  428. package/src/types/index.ts +2 -2
  429. package/src/types/live.ts +41 -22
  430. package/src/types/seat.ts +28 -4
  431. package/src/utils/call.ts +26 -27
  432. package/src/utils/eventCenter.ts +249 -0
  433. package/dist/DialogPortal-CvJcEAsn.js +0 -417
  434. package/dist/components/BarrageList/Message/FaceMessage/FaceMessage.js +0 -23
  435. package/dist/components/BarrageList/Message/FaceMessage/FaceMessage.vue.d.ts +0 -30
  436. package/dist/components/BarrageList/Message/FaceMessage/index.d.ts +0 -3
  437. package/dist/components/BarrageList/Message/FaceMessage/index.js +0 -4
  438. package/dist/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.js +0 -4
  439. package/dist/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.vue.d.ts +0 -16
  440. package/dist/components/BarrageList/Message/GroupTipMessage/index.d.ts +0 -3
  441. package/dist/components/BarrageList/Message/GroupTipMessage/index.js +0 -25
  442. package/dist/components/BarrageList/Message/ImageMessage/ImageMessage.js +0 -71
  443. package/dist/components/BarrageList/Message/ImageMessage/ImageMessage.vue.d.ts +0 -34
  444. package/dist/components/BarrageList/Message/ImageMessage/index.d.ts +0 -3
  445. package/dist/components/BarrageList/Message/ImageMessage/index.js +0 -4
  446. package/dist/components/BarrageList/Message/MergerMessage/MergerMessage.js +0 -9
  447. package/dist/components/BarrageList/Message/MergerMessage/MergerMessage.vue.d.ts +0 -2
  448. package/dist/components/BarrageList/Message/MergerMessage/index.d.ts +0 -3
  449. package/dist/components/BarrageList/Message/MergerMessage/index.js +0 -4
  450. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.js +0 -40
  451. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.vue.d.ts +0 -54
  452. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.js +0 -26
  453. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.vue.d.ts +0 -15
  454. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/index.d.ts +0 -3
  455. package/dist/components/BarrageList/Message/MessageLayout/MessageMeta/index.js +0 -4
  456. package/dist/components/BarrageList/Message/RecalledMessage/RecalledMessage.js +0 -41
  457. package/dist/components/BarrageList/Message/RecalledMessage/index.d.ts +0 -3
  458. package/dist/components/BarrageList/Message/RecalledMessage/index.js +0 -4
  459. package/dist/components/BarrageList/MessageForward/ForwardListItem.js +0 -45
  460. package/dist/components/BarrageList/MessageForward/ForwardListItem.vue.d.ts +0 -17
  461. package/dist/components/BarrageList/MessageForward/MessageForward.js +0 -203
  462. package/dist/components/BarrageList/MessageForward/MessageForward.vue.d.ts +0 -2
  463. package/dist/components/BarrageList/MessageForward/index.d.ts +0 -3
  464. package/dist/components/BarrageList/MessageForward/index.js +0 -4
  465. package/dist/components/StreamView/Layout/MixLayout.js +0 -89
  466. package/dist/components/StreamView/Layout/MixLayout.vue.d.ts +0 -31
  467. package/dist/states/BarrageListState/BarrageListState.d.ts +0 -26
  468. package/dist/states/BarrageListState/BarrageListState.js +0 -122
  469. package/dist/states/BarrageListState/index.d.ts +0 -1
  470. package/dist/states/BarrageListState/index.js +0 -4
  471. package/dist/states/BattleState.js +0 -117
  472. package/dist/states/DeviceState.js +0 -296
  473. package/dist/states/LiveState/index.js +0 -254
  474. package/dist/states/VideoMixerState.js +0 -260
  475. package/src/components/BarrageList/Message/FaceMessage/FaceMessage.vue +0 -43
  476. package/src/components/BarrageList/Message/FaceMessage/index.ts +0 -3
  477. package/src/components/BarrageList/Message/GroupTipMessage/GroupTipMessage.vue +0 -55
  478. package/src/components/BarrageList/Message/GroupTipMessage/index.ts +0 -3
  479. package/src/components/BarrageList/Message/ImageMessage/ImageMessage.vue +0 -181
  480. package/src/components/BarrageList/Message/ImageMessage/index.ts +0 -3
  481. package/src/components/BarrageList/Message/MergerMessage/MergerMessage.vue +0 -6
  482. package/src/components/BarrageList/Message/MergerMessage/index.ts +0 -3
  483. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/MessageMeta.vue +0 -70
  484. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/MessageStatusIcon.vue +0 -40
  485. package/src/components/BarrageList/Message/MessageLayout/MessageMeta/index.ts +0 -3
  486. package/src/components/BarrageList/Message/RecalledMessage/RecalledMessage.vue +0 -82
  487. package/src/components/BarrageList/Message/RecalledMessage/index.ts +0 -3
  488. package/src/components/BarrageList/MessageForward/ForwardListItem.vue +0 -67
  489. package/src/components/BarrageList/MessageForward/MessageForward.vue +0 -388
  490. package/src/components/BarrageList/MessageForward/index.ts +0 -3
  491. package/src/components/StreamView/Layout/MixLayout.vue +0 -144
@@ -1,25 +1,21 @@
1
1
  <template>
2
2
  <div
3
3
  class="wave-form"
4
- @click="handleClick"
5
4
  :style="waveFormStyle"
5
+ @click="handleClick"
6
6
  >
7
7
  <div
8
8
  v-for="(height, index) in waveBarHeights"
9
9
  :key="index"
10
10
  class="wave-form__bar"
11
- :class="{ 'wave-form__bar--active': isBarActive(index) }"
11
+ :class="{ 'wave-form__bar--active': activeStates[index] }"
12
12
  :style="{ height: `${height}px` }"
13
13
  />
14
- <div
15
- class="wave-form__cursor"
16
- :style="cursorStyle"
17
- />
18
14
  </div>
19
15
  </template>
20
16
 
21
17
  <script lang="ts" setup>
22
- import { ref, computed, onMounted } from 'vue';
18
+ import { computed } from 'vue';
23
19
 
24
20
  interface WaveFormProps {
25
21
  progress: number | undefined;
@@ -29,7 +25,7 @@ interface WaveFormProps {
29
25
 
30
26
  const props = withDefaults(defineProps<WaveFormProps>(), {
31
27
  barsCount: 30,
32
- width: '100%'
28
+ width: '100%',
33
29
  });
34
30
 
35
31
  const emit = defineEmits<{
@@ -38,32 +34,27 @@ const emit = defineEmits<{
38
34
 
39
35
  // Calculate wave form container style
40
36
  const waveFormStyle = computed(() => ({
41
- width: typeof props.width === 'number' ? `${props.width}px` : props.width
37
+ width: typeof props.width === 'number' ? `${props.width}px` : props.width,
42
38
  }));
43
39
 
44
40
  // Generate fixed wave bar heights array to avoid height changes on re-render
45
- const waveBarHeights = ref<number[]>([]);
46
-
47
- // Generate random heights on component mount and keep them constant during component lifecycle
48
- onMounted(() => {
49
- const heights = [];
50
- for (let i = 0; i < props.barsCount; i++) {
51
- // Generate random heights between 8px and 24px
52
- heights.push(Math.random() * 16 + 8);
41
+ const waveBarHeights = Array.from({ length: props.barsCount }, () => Math.random() * 16 + 4);
42
+
43
+ // Compute active states for all bars
44
+ const activeStates = computed(() => {
45
+ const currentProgress = props.progress || 0;
46
+
47
+ if (currentProgress === 0) {
48
+ return Array(props.barsCount).fill(false);
53
49
  }
54
- waveBarHeights.value = heights;
55
- });
56
50
 
57
- // Check if wave bar is active
58
- const isBarActive = (index: number) => {
59
- const barProgress = (index + 1) / props.barsCount;
60
- return (props.progress || 0) >= barProgress;
61
- };
51
+ const _activeStates = Array.from({ length: props.barsCount }, (_, index) => {
52
+ const barProgress = index / props.barsCount;
53
+ return currentProgress >= barProgress;
54
+ });
62
55
 
63
- // Calculate cursor position style
64
- const cursorStyle = computed(() => ({
65
- left: `${(props.progress || 0) * 100}%`
66
- }));
56
+ return _activeStates;
57
+ });
67
58
 
68
59
  // Handle click event, calculate new progress
69
60
  const handleClick = (event: MouseEvent) => {
@@ -71,7 +62,7 @@ const handleClick = (event: MouseEvent) => {
71
62
  const rect = waveElement.getBoundingClientRect();
72
63
  const offsetX = event.clientX - rect.left;
73
64
  const newProgress = offsetX / rect.width;
74
-
65
+
75
66
  // Ensure progress value is between 0-1
76
67
  const validProgress = Math.max(0, Math.min(1, newProgress));
77
68
  emit('seek', validProgress);
@@ -102,13 +93,5 @@ const handleClick = (event: MouseEvent) => {
102
93
  }
103
94
  }
104
95
 
105
- &__cursor {
106
- position: absolute;
107
- top: 0;
108
- width: 2px;
109
- height: 100%;
110
- background-color: rgba(0, 0, 0, 20%);
111
- pointer-events: none;
112
- }
113
96
  }
114
97
  </style>
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import { computed, useCssModule } from 'vue';
3
- import { IconCall1Filled, IconVideoDefaultFilled } from '@tencentcloud/uikit-base-component-vue3';
3
+ import { IconCall1Filled, IconVideoDefaultFilled, useUIKit } from '@tencentcloud/uikit-base-component-vue3';
4
4
  import { View } from '../../../../../baseComp/View';
5
5
  import { useConversationListState } from '../../../../../states/ConversationListState';
6
6
  import { ConversationType } from '../../../../../types/engine';
@@ -12,10 +12,12 @@ interface Props {
12
12
  }
13
13
 
14
14
  const props = defineProps<Props>();
15
+
16
+ const { t } = useUIKit();
15
17
  const classes = useCssModule();
16
18
  const { activeConversation } = useConversationListState();
17
19
 
18
- const text = computed(() => parseCallMessageText(props.message));
20
+ const text = computed(() => parseCallMessageText(props.message, t));
19
21
  const payload = computed(() => parseCallMessage(props.message));
20
22
 
21
23
  const callAgain = () => {
@@ -25,7 +27,7 @@ const callAgain = () => {
25
27
 
26
28
  startCall({
27
29
  type: payload.value.data.data.call_type,
28
- userIDList: payload.value.data.inviteeList,
30
+ userIDList: [activeConversation.value.userProfile?.userID],
29
31
  });
30
32
  };
31
33
  </script>
@@ -1,4 +1,5 @@
1
1
  <script lang="ts" setup>
2
+ import { computed } from 'vue';
2
3
  import { useUIKit } from '@tencentcloud/uikit-base-component-vue3';
3
4
  import cs from 'classnames';
4
5
  import { ConversationType } from '../../../../types/engine';
@@ -28,20 +29,20 @@ const { t } = useUIKit();
28
29
 
29
30
  const messageContent = props.message.getMessageContent() as GroupTipMessageContent & CustomMessageContent;
30
31
 
31
- const renderText = () => {
32
+ const renderText = computed(() => {
32
33
  if (messageContent.businessID === 'group_create') {
33
34
  return `${messageContent.showName || ''} ${t('MessageList.create_group')}`;
34
35
  }
35
36
  if (isCallMessage(props.message) && props.message.conversationType === ConversationType.GROUP) {
36
- return parseCallMessageText(props.message);
37
+ return parseCallMessageText(props.message, t);
37
38
  }
38
39
  return resolveGroupTipMessage(props.message).text;
39
- };
40
+ });
40
41
  </script>
41
42
 
42
43
  <template>
43
44
  <div :class="cs('group-tip-message')">
44
- {{ renderText() }}
45
+ {{ renderText }}
45
46
  </div>
46
47
  </template>
47
48
 
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
2
  import { MessageLayout } from './MessageLayout';
3
3
  import type { MessageAction } from '../../../hooks/useMessageActions';
4
- import type { IMessageModel as MessageModel } from '@tencentcloud/chat-uikit-engine';
4
+ import type { MessageModel } from '../../../types/engine';
5
5
 
6
6
  interface MessageProps {
7
7
  message: MessageModel;
@@ -82,17 +82,17 @@ const MessageComponent = computed(() => MessageComponentsFactory[props.message.t
82
82
 
83
83
  const isMessageOwner = computed(() => props.message.flow === 'out');
84
84
 
85
- const {
86
- layoutClasses,
87
- wrapperClasses,
88
- avatarClasses,
89
- bubbleClasses,
90
- metaClasses,
91
- } = useMessageLayoutClasses({
85
+ const messageLayoutClasses = computed(() => useMessageLayoutClasses({
92
86
  isMessageOwner: isMessageOwner.value,
93
87
  alignment: props.alignment,
94
88
  isAggregated: props.isAggregated,
95
- });
89
+ }));
90
+
91
+ const layoutClasses = computed(() => messageLayoutClasses.value.layoutClasses);
92
+ const wrapperClasses = computed(() => messageLayoutClasses.value.wrapperClasses);
93
+ const avatarClasses = computed(() => messageLayoutClasses.value.avatarClasses);
94
+ const bubbleClasses = computed(() => messageLayoutClasses.value.bubbleClasses);
95
+ const metaClasses = computed(() => messageLayoutClasses.value.metaClasses);
96
96
 
97
97
  function handleReadReceiptOpen() {
98
98
  isReadReceiptInfoOpen.value = true;
@@ -1,15 +1,15 @@
1
1
  <script lang="ts" setup>
2
- import { ref, computed, onMounted, onUnmounted, watch } from 'vue';
2
+ import { ref, computed, watch } from 'vue';
3
3
  import cs from 'classnames';
4
4
  import { View } from '../../../../baseComp/View';
5
- import type { IMessageModel } from '@tencentcloud/chat-uikit-engine';
5
+ import type { MessageModel } from '../../../../types/engine';
6
6
 
7
- interface IVideoMessageProps {
8
- message: IMessageModel;
7
+ interface VideoMessageProps {
8
+ message: MessageModel;
9
9
  isLastInChunk?: boolean;
10
10
  }
11
11
 
12
- interface IVideoMessageContent {
12
+ interface VideoMessageContent {
13
13
  showName: string;
14
14
  snapshotHeight: number;
15
15
  snapshotWidth: number;
@@ -17,33 +17,51 @@ interface IVideoMessageContent {
17
17
  url: string;
18
18
  }
19
19
 
20
- const props = withDefaults(defineProps<IVideoMessageProps>(), {
20
+ const props = withDefaults(defineProps<VideoMessageProps>(), {
21
21
  isLastInChunk: false,
22
- message: () => ({} as IMessageModel),
22
+ message: () => ({} as MessageModel),
23
23
  });
24
24
 
25
- const messageContent = props.message.getMessageContent() as IVideoMessageContent;
25
+ // SDK uses 200×200 as placeholder before actual dimensions are available
26
+ const isPlaceholderSize = (width: number, height: number): boolean => width === 200 && height === 200;
26
27
 
27
- const windowResize = ref(false);
28
- const loaded = ref(false);
29
- const naturalSize = ref<{ height: number; aspectRatio: number } | null>(
30
- messageContent.snapshotWidth && messageContent.snapshotHeight
31
- ? {
32
- height: messageContent.snapshotHeight,
33
- aspectRatio: messageContent.snapshotWidth / messageContent.snapshotHeight,
34
- }
35
- : null,
28
+ const messageContent = computed(() =>
29
+ props.message.getMessageContent() as VideoMessageContent,
36
30
  );
37
31
 
38
- const isMessageOwner = computed(() => props.message.flow === 'out');
32
+ const videoNaturalSize = ref<{ height: number; aspectRatio: number } | null>(null);
33
+ const loaded = ref(false);
34
+
35
+ // Priority: video metadata > snapshot > null (for placeholder data)
36
+ const naturalSize = computed(() => {
37
+ if (videoNaturalSize.value) {
38
+ return videoNaturalSize.value;
39
+ }
40
+
41
+ const content = messageContent.value;
42
+
43
+ if (isPlaceholderSize(content.snapshotWidth, content.snapshotHeight)) {
44
+ return null;
45
+ }
46
+
47
+ if (content.snapshotWidth && content.snapshotHeight) {
48
+ return {
49
+ height: content.snapshotHeight,
50
+ aspectRatio: content.snapshotWidth / content.snapshotHeight,
51
+ };
52
+ }
53
+
54
+ return null;
55
+ });
39
56
 
40
57
  const displaySize = computed(() => {
41
- const MAX_HEIGHT = 400;
58
+ const MAX_HEIGHT = 300;
59
+ const PLACEHOLDER_HEIGHT = 200;
42
60
  const DEFAULT_RATIO = 3 / 4;
43
61
 
44
62
  if (!naturalSize.value) {
45
63
  return {
46
- height: MAX_HEIGHT,
64
+ height: PLACEHOLDER_HEIGHT,
47
65
  aspectRatio: DEFAULT_RATIO,
48
66
  };
49
67
  }
@@ -56,41 +74,30 @@ const displaySize = computed(() => {
56
74
  height: 200,
57
75
  };
58
76
  }
77
+
59
78
  return {
60
79
  aspectRatio,
61
80
  height: MAX_HEIGHT,
62
81
  };
63
82
  });
64
83
 
65
- const onResize = () => {
66
- windowResize.value = true;
67
- };
84
+ const isMessageOwner = computed(() => props.message.flow === 'out');
68
85
 
69
86
  const onVideoLoad = (e: Event) => {
70
87
  const video = e.target as HTMLVideoElement;
71
- naturalSize.value = {
88
+
89
+ videoNaturalSize.value = {
72
90
  aspectRatio: video.videoWidth / video.videoHeight,
73
91
  height: video.videoHeight,
74
92
  };
93
+
75
94
  loaded.value = true;
76
95
  };
77
96
 
78
- onMounted(() => {
79
- window.addEventListener('resize', onResize);
80
- });
81
-
82
- onUnmounted(() => {
83
- window.removeEventListener('resize', onResize);
84
- });
85
-
97
+ // Reset state when message ID changes (e.g., URL switches from blob to real)
86
98
  watch(() => props.message.ID, () => {
87
99
  loaded.value = false;
88
- naturalSize.value = messageContent.snapshotWidth && messageContent.snapshotHeight
89
- ? {
90
- height: messageContent.snapshotHeight,
91
- aspectRatio: messageContent.snapshotWidth / messageContent.snapshotHeight,
92
- }
93
- : null;
100
+ videoNaturalSize.value = null;
94
101
  });
95
102
  </script>
96
103
 
@@ -102,7 +109,6 @@ watch(() => props.message.ID, () => {
102
109
  'video-message--loaded': loaded
103
110
  })"
104
111
  :style="{
105
- minHeight: windowResize ? 'auto' : `${displaySize.height}px`,
106
112
  maxHeight: `${displaySize.height}px`,
107
113
  aspectRatio: naturalSize ? `${displaySize.aspectRatio}` : 'auto',
108
114
  width: !loaded ? `${displaySize.height * displaySize.aspectRatio}px` : undefined
@@ -150,10 +156,7 @@ watch(() => props.message.ID, () => {
150
156
 
151
157
  .video-placeholder {
152
158
  position: absolute;
153
- top: 0;
154
- left: 0;
155
- width: 100%;
156
- height: 100%;
159
+ inset: 0;
157
160
  background:
158
161
  linear-gradient(
159
162
  90deg,
@@ -1,3 +1,3 @@
1
1
  import VideoMessage from './VideoMessage.vue';
2
2
 
3
- export { VideoMessage };
3
+ export { VideoMessage };
@@ -243,6 +243,8 @@ watch(messageList, (newMessages, oldMessages) => {
243
243
  // TODO: new message notification
244
244
  }
245
245
  }
246
+ }, {
247
+ immediate: true,
246
248
  });
247
249
 
248
250
  watch(() => props.enableReadReceipt, (newEnableReadReceipt) => {
@@ -72,7 +72,73 @@ const CallMessage = {
72
72
  no_answer_timeout: 'Call not answered (timeout)',
73
73
  };
74
74
 
75
+ const Emoji = {
76
+ '[TUIEmoji_Smile]': '[Smile]',
77
+ '[TUIEmoji_Expect]': '[Expect]',
78
+ '[TUIEmoji_Blink]': '[Blink]',
79
+ '[TUIEmoji_Guffaw]': '[Guffaw]',
80
+ '[TUIEmoji_KindSmile]': '[KindSmile]',
81
+ '[TUIEmoji_Haha]': '[Haha]',
82
+ '[TUIEmoji_Cheerful]': '[Cheerful]',
83
+ '[TUIEmoji_Speechless]': '[Speechless]',
84
+ '[TUIEmoji_Amazed]': '[Amazed]',
85
+ '[TUIEmoji_Sorrow]': '[Sorrow]',
86
+ '[TUIEmoji_Complacent]': '[Complacent]',
87
+ '[TUIEmoji_Silly]': '[Silly]',
88
+ '[TUIEmoji_Lustful]': '[Lustful]',
89
+ '[TUIEmoji_Giggle]': '[Giggle]',
90
+ '[TUIEmoji_Kiss]': '[Kiss]',
91
+ '[TUIEmoji_Wail]': '[Wail]',
92
+ '[TUIEmoji_TearsLaugh]': '[TearsLaugh]',
93
+ '[TUIEmoji_Trapped]': '[Trapped]',
94
+ '[TUIEmoji_Mask]': '[Mask]',
95
+ '[TUIEmoji_Fear]': '[Fear]',
96
+ '[TUIEmoji_BareTeeth]': '[BareTeeth]',
97
+ '[TUIEmoji_FlareUp]': '[FlareUp]',
98
+ '[TUIEmoji_Yawn]': '[Yawn]',
99
+ '[TUIEmoji_Tact]': '[Tact]',
100
+ '[TUIEmoji_Stareyes]': '[StarEyes]',
101
+ '[TUIEmoji_ShutUp]': '[ShutUp]',
102
+ '[TUIEmoji_Sigh]': '[Sigh]',
103
+ '[TUIEmoji_Hehe]': '[Hehe]',
104
+ '[TUIEmoji_Silent]': '[Silent]',
105
+ '[TUIEmoji_Surprised]': '[Surprised]',
106
+ '[TUIEmoji_Askance]': '[Askance]',
107
+ '[TUIEmoji_Ok]': '[OK]',
108
+ '[TUIEmoji_Shit]': '[Shit]',
109
+ '[TUIEmoji_Monster]': '[Monster]',
110
+ '[TUIEmoji_Daemon]': '[Daemon]',
111
+ '[TUIEmoji_Rage]': '[Rage]',
112
+ '[TUIEmoji_Fool]': '[Fool]',
113
+ '[TUIEmoji_Pig]': '[Pig]',
114
+ '[TUIEmoji_Cow]': '[Cow]',
115
+ '[TUIEmoji_Ai]': '[AI]',
116
+ '[TUIEmoji_Skull]': '[Skull]',
117
+ '[TUIEmoji_Bombs]': '[Bombs]',
118
+ '[TUIEmoji_Coffee]': '[Coffee]',
119
+ '[TUIEmoji_Cake]': '[Cake]',
120
+ '[TUIEmoji_Beer]': '[Beer]',
121
+ '[TUIEmoji_Flower]': '[Flower]',
122
+ '[TUIEmoji_Watermelon]': '[Watermelon]',
123
+ '[TUIEmoji_Rich]': '[Rich]',
124
+ '[TUIEmoji_Heart]': '[Heart]',
125
+ '[TUIEmoji_Moon]': '[Moon]',
126
+ '[TUIEmoji_Sun]': '[Sun]',
127
+ '[TUIEmoji_Star]': '[Star]',
128
+ '[TUIEmoji_RedPacket]': '[RedPacket]',
129
+ '[TUIEmoji_Celebrate]': '[Celebrate]',
130
+ '[TUIEmoji_Bless]': '[Bless]',
131
+ '[TUIEmoji_Fortune]': '[Fortune]',
132
+ '[TUIEmoji_Convinced]': '[Convinced]',
133
+ '[TUIEmoji_Prohibit]': '[Prohibit]',
134
+ '[TUIEmoji_666]': '[666]',
135
+ '[TUIEmoji_857]': '[857]',
136
+ '[TUIEmoji_Knife]': '[Knife]',
137
+ '[TUIEmoji_Like]': '[Like]',
138
+ };
139
+
75
140
  export {
76
141
  MessageList,
77
142
  CallMessage,
143
+ Emoji,
78
144
  };
@@ -1,9 +1,9 @@
1
- import { MessageList as MessageListEn, CallMessage as CallMessageEn } from './en-US';
2
- import { MessageList as MessageListZh, CallMessage as CallMessageZh } from './zh-CN';
1
+ import { MessageList as MessageListEn, CallMessage as CallMessageEn, Emoji as EmojiEn } from './en-US';
2
+ import { MessageList as MessageListZh, CallMessage as CallMessageZh, Emoji as EmojiZh } from './zh-CN';
3
3
 
4
4
  const resources = {
5
- 'en-US': { MessageList: MessageListEn, CallMessage: CallMessageEn },
6
- 'zh-CN': { MessageList: MessageListZh, CallMessage: CallMessageZh },
5
+ 'en-US': { MessageList: MessageListEn, CallMessage: CallMessageEn, Emoji: EmojiEn},
6
+ 'zh-CN': { MessageList: MessageListZh, CallMessage: CallMessageZh, Emoji: EmojiZh },
7
7
  };
8
8
 
9
9
  export { resources };
@@ -71,7 +71,73 @@ const CallMessage = {
71
71
  no_answer_timeout: '超时无应答',
72
72
  };
73
73
 
74
+ const Emoji = {
75
+ '[TUIEmoji_Smile]': '[微笑]',
76
+ '[TUIEmoji_Expect]': '[期待]',
77
+ '[TUIEmoji_Blink]': '[眨眼]',
78
+ '[TUIEmoji_Guffaw]': '[大笑]',
79
+ '[TUIEmoji_KindSmile]': '[姨母笑]',
80
+ '[TUIEmoji_Haha]': '[哈哈哈]',
81
+ '[TUIEmoji_Cheerful]': '[愉快]',
82
+ '[TUIEmoji_Speechless]': '[无语]',
83
+ '[TUIEmoji_Amazed]': '[惊讶]',
84
+ '[TUIEmoji_Sorrow]': '[悲伤]',
85
+ '[TUIEmoji_Complacent]': '[得意]',
86
+ '[TUIEmoji_Silly]': '[傻了]',
87
+ '[TUIEmoji_Lustful]': '[色]',
88
+ '[TUIEmoji_Giggle]': '[憨笑]',
89
+ '[TUIEmoji_Kiss]': '[亲亲]',
90
+ '[TUIEmoji_Wail]': '[大哭]',
91
+ '[TUIEmoji_TearsLaugh]': '[哭笑]',
92
+ '[TUIEmoji_Trapped]': '[困]',
93
+ '[TUIEmoji_Mask]': '[口罩]',
94
+ '[TUIEmoji_Fear]': '[恐惧]',
95
+ '[TUIEmoji_BareTeeth]': '[龇牙]',
96
+ '[TUIEmoji_FlareUp]': '[发怒]',
97
+ '[TUIEmoji_Yawn]': '[打哈欠]',
98
+ '[TUIEmoji_Tact]': '[机智]',
99
+ '[TUIEmoji_Stareyes]': '[星星眼]',
100
+ '[TUIEmoji_ShutUp]': '[闭嘴]',
101
+ '[TUIEmoji_Sigh]': '[叹气]',
102
+ '[TUIEmoji_Hehe]': '[呵呵]',
103
+ '[TUIEmoji_Silent]': '[收声]',
104
+ '[TUIEmoji_Surprised]': '[惊喜]',
105
+ '[TUIEmoji_Askance]': '[白眼]',
106
+ '[TUIEmoji_Ok]': '[OK]',
107
+ '[TUIEmoji_Shit]': '[便便]',
108
+ '[TUIEmoji_Monster]': '[怪兽]',
109
+ '[TUIEmoji_Daemon]': '[恶魔]',
110
+ '[TUIEmoji_Rage]': '[恶魔怒]',
111
+ '[TUIEmoji_Fool]': '[衰]',
112
+ '[TUIEmoji_Pig]': '[猪]',
113
+ '[TUIEmoji_Cow]': '[牛]',
114
+ '[TUIEmoji_Ai]': '[AI]',
115
+ '[TUIEmoji_Skull]': '[骷髅]',
116
+ '[TUIEmoji_Bombs]': '[炸弹]',
117
+ '[TUIEmoji_Coffee]': '[咖啡]',
118
+ '[TUIEmoji_Cake]': '[蛋糕]',
119
+ '[TUIEmoji_Beer]': '[啤酒]',
120
+ '[TUIEmoji_Flower]': '[花]',
121
+ '[TUIEmoji_Watermelon]': '[瓜]',
122
+ '[TUIEmoji_Rich]': '[壕]',
123
+ '[TUIEmoji_Heart]': '[爱心]',
124
+ '[TUIEmoji_Moon]': '[月亮]',
125
+ '[TUIEmoji_Sun]': '[太阳]',
126
+ '[TUIEmoji_Star]': '[星星]',
127
+ '[TUIEmoji_RedPacket]': '[红包]',
128
+ '[TUIEmoji_Celebrate]': '[庆祝]',
129
+ '[TUIEmoji_Bless]': '[福]',
130
+ '[TUIEmoji_Fortune]': '[发]',
131
+ '[TUIEmoji_Convinced]': '[服]',
132
+ '[TUIEmoji_Prohibit]': '[禁]',
133
+ '[TUIEmoji_666]': '[666]',
134
+ '[TUIEmoji_857]': '[857]',
135
+ '[TUIEmoji_Knife]': '[刀]',
136
+ '[TUIEmoji_Like]': '[赞]',
137
+ };
138
+
74
139
  export {
75
140
  MessageList,
76
141
  CallMessage,
142
+ Emoji,
77
143
  }
@@ -2,7 +2,7 @@
2
2
  <div class="mic-button-container">
3
3
  <div class="mic-button" :class="{ 'disabled': !hasPublishAudioPermission }" @click="handleClick">
4
4
  <audio-icon
5
- :audio-volume="audioVolume"
5
+ :audio-volume="currentMicVolume"
6
6
  :is-muted="isMuted"
7
7
  :is-disabled="!hasPublishAudioPermission"
8
8
  />
@@ -19,7 +19,7 @@ import { DeviceStatus, DeviceError } from '../../types';
19
19
  import AudioIcon from './AudioIcon.vue';
20
20
 
21
21
  const {
22
- audioVolume,
22
+ currentMicVolume,
23
23
  hasPublishAudioPermission,
24
24
  microphoneStatus,
25
25
  microphoneLastError,
@@ -60,4 +60,4 @@ async function handleClick() {
60
60
  }
61
61
  }
62
62
  }
63
- </style>
63
+ </style>
@@ -188,5 +188,5 @@ const stopClickPropagation = (e: Event) => {
188
188
  </script>
189
189
 
190
190
  <style lang="scss" module>
191
- @import './Search.scss';
191
+ @use './Search.scss';
192
192
  </style>
@@ -1,6 +1,3 @@
1
- @use "sass:map";
2
- @use "@tencentcloud/uikit-base-component-vue3/src/providers/UIKitProvider/styles/variables.scss" as *;
3
-
4
1
  .SearchDateRangePicker {
5
2
  background: var(--bg-color-dialog);
6
3
  box-shadow: 0 2px 8px var(--shadow-color);
@@ -305,4 +302,4 @@
305
302
  color: #fff;
306
303
  border-color: #1677ff;
307
304
  }
308
- }
305
+ }
@@ -554,5 +554,5 @@ const handleH5Cancel = () => {
554
554
  </script>
555
555
 
556
556
  <style lang="scss" module>
557
- @import './DateRangePicker.scss';
557
+ @use './DateRangePicker.scss';
558
558
  </style>
@@ -1,6 +1,3 @@
1
- @use "sass:map";
2
- @use "@tencentcloud/uikit-base-component-vue3/src/providers/UIKitProvider/styles/variables.scss" as *;
3
-
4
1
  .SearchMessageAdvanced {
5
2
  padding: 10px 20px;
6
3
  background-color: var(--bg-color-operate);
@@ -81,4 +78,4 @@
81
78
  left: 0;
82
79
  margin-top: 8px;
83
80
  z-index: 1000;
84
- }
81
+ }
@@ -259,5 +259,5 @@ const handleQuickOptionClick = (option: string) => {
259
259
  </script>
260
260
 
261
261
  <style lang="scss" module>
262
- @import './MessageAdvanced.scss';
262
+ @use './MessageAdvanced.scss';
263
263
  </style>
@@ -1,6 +1,3 @@
1
- @use "sass:map";
2
- @use "@tencentcloud/uikit-base-component-vue3/src/providers/UIKitProvider/styles/variables.scss" as *;
3
-
4
1
  .SearchAdvanced {
5
2
  display: flex;
6
3
  flex-direction: column;
@@ -53,4 +50,4 @@
53
50
  margin-top: 8px;
54
51
  z-index: 1000;
55
52
  }
56
- }
53
+ }
@@ -58,5 +58,5 @@ const handleUserAdvancedChange = (params: Map<SearchType, any>) => {
58
58
  </script>
59
59
 
60
60
  <style lang="scss" module>
61
- @import './SearchAdvanced.scss';
61
+ @use './SearchAdvanced.scss';
62
62
  </style>
@@ -1,6 +1,3 @@
1
- @use "sass:map";
2
- @use "@tencentcloud/uikit-base-component-vue3/src/providers/UIKitProvider/styles/variables.scss" as *;
3
-
4
1
  .SearchTab {
5
2
  position: sticky;
6
3
  top: 0;
@@ -37,4 +34,4 @@
37
34
  font-weight: 500;
38
35
  }
39
36
  }
40
- }
37
+ }
@@ -53,5 +53,5 @@ const handleTabClick = (tabKey: SearchTabType) => {
53
53
  </script>
54
54
 
55
55
  <style lang="scss" module>
56
- @import './SearchTab.scss';
56
+ @use './SearchTab.scss';
57
57
  </style>