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,388 +0,0 @@
1
- <script lang="ts" setup>
2
- import { ref } from 'vue';
3
- import { useUIKit, IconSearch, IconCloseInput, IconClose } from '@tencentcloud/uikit-base-component-vue3';
4
- import { DialogRoot, DialogPortal, DialogOverlay, DialogContent, DialogClose, DialogTitle } from 'reka-ui';
5
- import { useConversationListState } from '../../../states/ConversationListState';
6
- import { useMessageActionState } from '../../../states/MessageActionState';
7
- import ForwardListItem from './ForwardListItem.vue';
8
- import type { IConversationModel } from '@tencentcloud/chat-uikit-engine';
9
-
10
- const { t } = useUIKit();
11
- const { forwardMessageIDList, forwardConversationIDList, isForwardMessageSelectionDone, forwardMessage } =
12
- useMessageActionState();
13
-
14
- const { conversationList } = useConversationListState();
15
-
16
- const searchValue = ref('');
17
- const searchedConversationList = ref<IConversationModel[]>([]);
18
-
19
- function searchConversation() {
20
- if (searchValue.value) {
21
- const results = conversationList.value!.filter(conversation => {
22
- const name = conversation.getShowName()!.toLowerCase();
23
- const ID = conversation.conversationID.toLowerCase();
24
- const searchTerm = searchValue.value.trim().toLowerCase();
25
- return ID.includes(searchTerm) || name.includes(searchTerm);
26
- });
27
- searchedConversationList.value = results;
28
- } else {
29
- searchedConversationList.value = [];
30
- }
31
- }
32
-
33
- function handleConversationSelect(conversationID: string) {
34
- const hasAlreadySelected = forwardConversationIDList.value.includes(conversationID);
35
- if (hasAlreadySelected) {
36
- forwardConversationIDList.value = forwardConversationIDList.value.filter(ID => ID !== conversationID);
37
- } else {
38
- forwardConversationIDList.value.push(conversationID);
39
- }
40
- }
41
-
42
- const isConversationSelected = (conversationID: string) => forwardConversationIDList.value.includes(conversationID);
43
-
44
- function getConversationName(conversationID: string) {
45
- const conversation = conversationList.value?.find(_conversation => _conversation.conversationID === conversationID);
46
- return conversation?.getShowName() || conversation?.conversationID || '';
47
- }
48
-
49
- function forward() {
50
- if (!isForwardMessageSelectionDone.value) {
51
- return;
52
- }
53
-
54
- if (forwardConversationIDList.value.length > 0) {
55
- forwardMessage({
56
- messageIDList: forwardMessageIDList.value,
57
- conversationIDList: forwardConversationIDList.value,
58
- isMergeForward: false,
59
- });
60
- closeMessageForward();
61
- }
62
- }
63
-
64
- function closeMessageForward() {
65
- forwardMessageIDList.value = [];
66
- forwardConversationIDList.value = [];
67
- isForwardMessageSelectionDone.value = false;
68
- }
69
- </script>
70
-
71
- <template>
72
- <DialogRoot :open="isForwardMessageSelectionDone">
73
- <DialogPortal>
74
- <DialogOverlay class="forward-overlay" @click="closeMessageForward" />
75
- <DialogContent class="forward-container">
76
- <div class="forward-header">
77
- <DialogClose class="forward-header__close" @click="closeMessageForward">
78
- <IconClose size="14" />
79
- </DialogClose>
80
- <DialogTitle class="forward-header__title">
81
- {{ t('TUIChat.Forward') }}
82
- </DialogTitle>
83
- </div>
84
-
85
- <div class="forward-search">
86
- <IconSearch class="forward-search__icon" />
87
- <input v-model="searchValue" class="forward-search__input" type="text" @input="searchConversation" />
88
- <IconCloseInput v-if="searchValue" class="forward-search__icon--clear" @click="searchValue = ''" />
89
- </div>
90
-
91
- <div class="forward-middle">
92
- <template v-if="searchValue">
93
- <div class="forward-section-title">
94
- {{ t('TUIChat.Search Result') }}
95
- </div>
96
- <template v-if="searchedConversationList.length > 0">
97
- <div class="forward-list-container">
98
- <ForwardListItem
99
- v-for="conversation in searchedConversationList"
100
- :key="conversation.conversationID"
101
- :conversationID="conversation.conversationID"
102
- :is-selected="isConversationSelected(conversation.conversationID)"
103
- @on-click="handleConversationSelect(conversation.conversationID)"
104
- />
105
- </div>
106
- </template>
107
- <template v-else>
108
- <div class="forward-empty">
109
- {{ t('TUIChat.No Result') }}
110
- </div>
111
- </template>
112
- </template>
113
- <template v-else>
114
- <div class="forward-section-title">
115
- {{ t('TUIChat.Recent Chats') }}
116
- </div>
117
- <div v-if="conversationList && conversationList.length > 0" class="forward-list-container">
118
- <ForwardListItem
119
- v-for="conversation in conversationList"
120
- :key="conversation.conversationID"
121
- :conversationID="conversation.conversationID"
122
- :is-selected="isConversationSelected(conversation.conversationID)"
123
- @click="handleConversationSelect(conversation.conversationID)"
124
- />
125
- </div>
126
- <div v-else class="forward-empty">
127
- {{ t('TUIChat.No Conversation') }}
128
- </div>
129
- </template>
130
- </div>
131
-
132
- <div v-if="forwardConversationIDList.length > 0" class="forward-selected__abstract-list">
133
- <div v-for="ID in forwardConversationIDList" :key="ID" class="forward-selected__abstract-list__item">
134
- <div class="forward-selected__abstract-list__item__name">
135
- {{ getConversationName(ID) }}
136
- </div>
137
- <div class="forward-selected__abstract-list__item__remove" @click.stop="handleConversationSelect(ID)">
138
- <IconCloseInput />
139
- </div>
140
- </div>
141
- </div>
142
-
143
- <div class="forward-footer">
144
- <button class="forward-footer__button" :disabled="forwardConversationIDList.length === 0" @click="forward">
145
- {{ t('TUIChat.Forward') }}
146
- </button>
147
- </div>
148
- </DialogContent>
149
- </DialogPortal>
150
- </DialogRoot>
151
- </template>
152
-
153
- <style lang="scss" scoped>
154
- @use '../../../styles/mixins' as mixin;
155
-
156
- $animationDuration: 200ms;
157
-
158
- .forward-overlay {
159
- background-color: rgba(0, 0, 0, 0.5);
160
- position: fixed;
161
- inset: 0;
162
-
163
- &[data-state='open'] {
164
- animation: overlayIn $animationDuration ease-out;
165
- }
166
-
167
- &[data-state='closed'] {
168
- animation: overlayOut $animationDuration ease-out;
169
- }
170
- }
171
-
172
- .forward-container {
173
- border-radius: 8px;
174
- box-shadow:
175
- 0px 10px 38px -10px rgba(22, 23, 24, 0.35),
176
- 0px 10px 20px -15px rgba(22, 23, 24, 0.2);
177
- position: fixed;
178
- top: 50%;
179
- left: 50%;
180
- transform: translate(-50%, -50%);
181
- width: 90vw;
182
- max-width: 500px;
183
- max-height: 85vh;
184
- padding: 16px;
185
- display: flex;
186
- flex-direction: column;
187
- gap: 12px;
188
- height: 80vh;
189
- background-color: var(--bg-color-operate);
190
- color: var(--text-color-primary);
191
-
192
- &[data-state='open'] {
193
- animation: contentIn $animationDuration ease-out;
194
- }
195
-
196
- &[data-state='closed'] {
197
- animation: contentOut $animationDuration ease-out;
198
- }
199
- }
200
-
201
- .forward-header {
202
- display: flex;
203
- flex-direction: row;
204
- align-items: center;
205
-
206
- &__close {
207
- background: transparent;
208
- border: none;
209
- cursor: pointer;
210
- display: flex;
211
- align-items: center;
212
- justify-content: center;
213
- margin-right: 8px;
214
- color: inherit;
215
- }
216
-
217
- &__title {
218
- flex: 1;
219
- font-size: 18px;
220
- font-weight: bold;
221
- text-align: center;
222
- margin-right: 24px;
223
- }
224
- }
225
-
226
- .forward-search {
227
- display: flex;
228
- flex-direction: row;
229
- gap: 8px;
230
- align-items: center;
231
- border-radius: 8px;
232
- padding: 8px 12px;
233
- background: var(--bg-color-input);
234
-
235
- &__icon {
236
- &--clear {
237
- cursor: pointer;
238
- }
239
- }
240
-
241
- &__input {
242
- flex: 1;
243
- border: none;
244
- outline: none;
245
- font-size: 14px;
246
- background-color: transparent;
247
- color: var(--text-color-primary, white);
248
- caret-color: var(--text-color-primary, white);
249
- }
250
- }
251
-
252
- .forward-middle {
253
- flex: 1;
254
- display: flex;
255
- flex-direction: column;
256
- overflow-y: auto;
257
- gap: 8px;
258
- }
259
-
260
- .forward-section-title {
261
- font-size: 14px;
262
- font-weight: 600;
263
- color: var(--text-color-primary);
264
- }
265
-
266
- .forward-list-container {
267
- display: flex;
268
- flex-direction: column;
269
- gap: 8px;
270
-
271
- @include mixin.scrollbar-base;
272
- }
273
-
274
- .forward-empty {
275
- display: flex;
276
- align-items: center;
277
- justify-content: center;
278
- height: 100px;
279
- color: var(--text-color-secondary);
280
- font-size: 14px;
281
- }
282
-
283
- .forward-selected__abstract-list {
284
- display: flex;
285
- flex-direction: row;
286
- flex-wrap: wrap;
287
- max-height: 70px;
288
- overflow-y: auto;
289
- gap: 8px;
290
-
291
- @include mixin.scrollbar-base;
292
-
293
- &__item {
294
- display: flex;
295
- flex-direction: row;
296
- align-items: center;
297
- background-color: var(--bg-color-input);
298
- border-radius: 16px;
299
- padding: 4px 8px 4px 4px;
300
-
301
- &__name {
302
- margin: 0 8px;
303
- font-size: 12px;
304
- max-width: 100px;
305
-
306
- @include mixin.text-ellipsis;
307
- }
308
-
309
- &__remove {
310
- cursor: pointer;
311
- display: flex;
312
- align-items: center;
313
- justify-content: center;
314
-
315
- &:hover {
316
- color: var(--text-color-error);
317
- }
318
- }
319
- }
320
- }
321
-
322
- .forward-footer {
323
- display: flex;
324
-
325
- &__button {
326
- background-color: var(--button-color-primary-default);
327
- color: var(--text-color-button);
328
- border: none;
329
- border-radius: 4px;
330
- padding: 8px 16px;
331
- font-size: 14px;
332
- cursor: pointer;
333
-
334
- &:hover:not(:disabled) {
335
- background-color: var(--button-color-primary-hover);
336
- }
337
-
338
- &:active:not(:disabled) {
339
- background-color: var(--button-color-primary-active);
340
- }
341
-
342
- &:disabled {
343
- background-color: var(--button-color-primary-disabled);
344
- cursor: not-allowed;
345
- }
346
- }
347
- }
348
-
349
- @keyframes overlayIn {
350
- from {
351
- opacity: 0;
352
- }
353
- to {
354
- opacity: 1;
355
- }
356
- }
357
-
358
- @keyframes overlayOut {
359
- from {
360
- opacity: 1;
361
- }
362
- to {
363
- opacity: 0;
364
- }
365
- }
366
-
367
- @keyframes contentIn {
368
- from {
369
- opacity: 0;
370
- transform: translate(-50%, -46%) scale(0.96);
371
- }
372
- to {
373
- opacity: 1;
374
- transform: translate(-50%, -50%) scale(1);
375
- }
376
- }
377
-
378
- @keyframes contentOut {
379
- from {
380
- opacity: 1;
381
- transform: translate(-50%, -50%) scale(1);
382
- }
383
- to {
384
- opacity: 0;
385
- transform: translate(-50%, -46%) scale(0.96);
386
- }
387
- }
388
- </style>
@@ -1,3 +0,0 @@
1
- import MessageForward from './MessageForward.vue';
2
-
3
- export { MessageForward };
@@ -1,144 +0,0 @@
1
- <template>
2
- <div class="mix-layout-container">
3
- <StreamRegion v-if="innerUserStore.mixUserInfo" :user-info="innerUserStore.mixUserInfo" :stream-type="TUIVideoStreamType.kCameraStream"
4
- :aspect-ratio="aspectRatio">
5
- <template #stream-cover>
6
- <div class="mix-stream-cover" ref="streamCoverRef">
7
- <div class="mix-stream-cover-item" v-for="item in layoutList" :key="`${item.userId}-${item.streamType}`" :style="getStreamCoverStyle(item)">
8
- <StreamCover :user-info="innerUserStore.getUserInfo({ userId: item.userId }) as UserInfo" :stream-type="item.streamType" />
9
- </div>
10
- </div>
11
- </template>
12
- <template #streamViewUI="slotProps">
13
- <slot name="streamViewUI" v-bind="slotProps" />
14
- </template>
15
- </StreamRegion>
16
- </div>
17
- </template>
18
-
19
- <script setup lang="ts">
20
- import { computed, ref, onMounted, onBeforeUnmount, reactive, watch } from 'vue';
21
- import { UserInfo } from '../../../types';
22
- import { TUIVideoStreamType } from '@tencentcloud/tuiroom-engine-js';
23
- import useLiveState from '../../../states/LiveState';
24
- import StreamRegion from '../common/StreamRegion';
25
- import StreamCover from '../common/StreamCover/index.vue';
26
- import { innerUserStore } from '../../../states/UserState/store';
27
-
28
- interface Props {
29
- config?: string;
30
- filterFn?: (userInfo: UserInfo, index: number) => boolean;
31
- sortFn?: (userInfoA: UserInfo, userInfoB: UserInfo) => number;
32
- }
33
-
34
- interface LayoutItem {
35
- userId: string;
36
- streamType: number;
37
- x: number;
38
- y: number;
39
- width: number;
40
- height: number;
41
- zOrder: number;
42
- backgroundColor: string;
43
- }
44
-
45
- const { currentLive } = useLiveState();
46
- defineProps<Props>();
47
-
48
- const streamCoverRef = ref<HTMLDivElement>();
49
-
50
- const aspectRatio = computed(() => {
51
- if (currentLive.value && currentLive.value.layoutTemplateParams.canvas) {
52
- return `${currentLive.value.layoutTemplateParams.canvas.width}:${currentLive.value.layoutTemplateParams.canvas.height}`;
53
- }
54
- return '16:9';
55
- });
56
-
57
- const layoutList = computed<LayoutItem[]>(() => {
58
- if (currentLive.value && currentLive.value.layoutTemplateParams.layoutList) {
59
- return currentLive.value.layoutTemplateParams.layoutList;
60
- }
61
- return [];
62
- });
63
-
64
- // 保存每个item的样式
65
- const itemStyles = reactive<Record<string, Record<string, string | number>>>({});
66
-
67
- watch(() => layoutList.value.length, () => {
68
- updateAllItemStyles();
69
- }, { deep: true });
70
-
71
- const resizeObserver = new ResizeObserver(() => {
72
- if (!streamCoverRef.value) {
73
- return;
74
- }
75
- // 在尺寸变化时更新所有item的样式
76
- updateAllItemStyles();
77
- });
78
-
79
- onMounted(() => {
80
- streamCoverRef.value && resizeObserver.observe(streamCoverRef.value);
81
- });
82
-
83
- onBeforeUnmount(() => {
84
- streamCoverRef.value && resizeObserver.unobserve(streamCoverRef.value);
85
- });
86
-
87
- // 更新所有item的样式
88
- function updateAllItemStyles() {
89
- layoutList.value.forEach(item => {
90
- updateItemStyle(item);
91
- });
92
- }
93
-
94
- // 更新单个item的样式
95
- function updateItemStyle(item: LayoutItem) {
96
- const key = `${item.userId}-${item.streamType}`;
97
- if (!streamCoverRef.value) {
98
- itemStyles[key] = {};
99
- return;
100
- }
101
-
102
- const streamCoverWidth = streamCoverRef.value?.clientWidth;
103
- const streamCoverHeight = streamCoverRef.value?.clientHeight;
104
-
105
- itemStyles[key] = {
106
- left: streamCoverWidth * item.x + 'px',
107
- top: streamCoverWidth * item.y + 'px',
108
- width: streamCoverWidth * item.width + 'px',
109
- height: item.height === -1 ? streamCoverHeight + 'px' : streamCoverWidth * item.height + 'px',
110
- zIndex: item.zOrder,
111
- backgroundColor: item.backgroundColor,
112
- };
113
- }
114
-
115
- // 获取item的样式
116
- function getStreamCoverStyle(item: LayoutItem) {
117
- const key = `${item.userId}-${item.streamType}`;
118
- // 确保样式对象已经创建
119
- if (!itemStyles[key]) {
120
- updateItemStyle(item);
121
- }
122
- return itemStyles[key];
123
- }
124
-
125
- </script>
126
-
127
- <style lang="scss" scoped>
128
- .mix-layout-container {
129
- position: relative;
130
- width: 100%;
131
- height: 100%;
132
- }
133
-
134
- .mix-stream-cover {
135
- width: 100%;
136
- height: 100%;
137
- position: relative;
138
-
139
- .mix-stream-cover-item {
140
- position: absolute;
141
- }
142
- }
143
- </style>
144
- ../../../states/LiveState