tuikit-atomicx-vue3 4.4.0 → 4.5.0

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 (641) hide show
  1. package/.eslintrc.cjs +6 -2
  2. package/dist/DurationSelector.vue_vue_type_script_setup_true_lang-RndH6NtJ.js +54 -0
  3. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-D9jiYNFu.js → MessageInput.vue_vue_type_script_setup_true_lang-jPzZ5INK.js} +31 -29
  4. package/dist/TimezoneSelector.vue_vue_type_script_setup_true_lang-C-lovW-l.js +62 -0
  5. package/dist/baseComp/AudioIcon.js +7 -7
  6. package/dist/baseComp/Input/InputH5.vue.d.ts +1 -1
  7. package/dist/baseComp/Input/InputPC.vue.d.ts +1 -1
  8. package/dist/baseComp/Input/InputWX.vue.d.ts +1 -1
  9. package/dist/baseComp/Input/index.d.ts +15 -15
  10. package/dist/changeNameCardDialog.vue_vue_type_script_setup_true_lang-a4FmKskP.js +41 -0
  11. package/dist/chat/index.d.ts +490 -475
  12. package/dist/components/AudioSetting/AudioMediaControl.js +23 -23
  13. package/dist/components/AudioSetting/AudioRequestDialog.js +86 -2
  14. package/dist/components/AudioSetting/AudioSettingTab.js +32 -33
  15. package/dist/components/AudioSetting/MicrophoneSelect.js +14 -15
  16. package/dist/components/AudioSetting/SpeakerSelect.js +16 -17
  17. package/dist/components/AudioSetting/index.js +29 -3
  18. package/dist/components/AudioSettingPanel/MicrophoneSelect.js +61 -0
  19. package/dist/components/AudioSettingPanel/MicrophoneSelect.vue.d.ts +29 -0
  20. package/dist/components/AudioSettingPanel/SpeakerSelect.js +61 -0
  21. package/dist/components/AudioSettingPanel/SpeakerSelect.vue.d.ts +29 -0
  22. package/dist/components/AudioSettingPanel/i18n/en-US/index.d.ts +12 -6
  23. package/dist/components/AudioSettingPanel/i18n/en-US/index.js +12 -6
  24. package/dist/components/AudioSettingPanel/i18n/zh-CN/index.d.ts +12 -6
  25. package/dist/components/AudioSettingPanel/i18n/zh-CN/index.js +12 -6
  26. package/dist/components/AudioSettingPanel/index.d.ts +49 -2
  27. package/dist/components/AudioSettingPanel/index.js +127 -94
  28. package/dist/components/AudioSettingPanel/index.vue.d.ts +49 -1
  29. package/dist/components/BarrageInput/TextEditor/CharacterCountExtension.js +1 -1
  30. package/dist/components/BarrageInput/TextEditor/EditorCore.js +5 -4
  31. package/dist/components/BarrageInput/TextEditor/TextEditor.vue.d.ts +1 -1
  32. package/dist/components/BarrageInput/index.d.ts +6 -6
  33. package/dist/components/BarrageList/BarrageList.js +7 -7
  34. package/dist/components/BarrageList/BarrageListH5.js +7 -7
  35. package/dist/components/BarrageList/BarrageListState.d.ts +5 -27
  36. package/dist/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.js +4 -4
  37. package/dist/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.vue.d.ts +1 -1
  38. package/dist/components/BarrageList/Message/MessageLayout/MessageLayout.js +11 -11
  39. package/dist/components/BarrageList/Message/MessageLayout/MessageLayout.vue.d.ts +1 -1
  40. package/dist/components/BarrageList/Message/TextMessage/TextMessage.js +4 -4
  41. package/dist/components/BarrageList/Message/TextMessage/TextMessage.vue.d.ts +1 -1
  42. package/dist/components/CameraButton/index.js +7 -7
  43. package/dist/components/ChatSetting/GroupChatSetting/GroupChatSetting.js +2 -1
  44. package/dist/components/ChatSetting/SettingItem/SettingItem.vue.d.ts +2 -2
  45. package/dist/components/ConversationList/ConversationActions/ConversationActions.js +49 -51
  46. package/dist/components/ConversationList/ConversationList.vue.d.ts +190 -190
  47. package/dist/components/ConversationList/ConversationPreview/ConversationPreview.vue.d.ts +82 -82
  48. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.js +31 -29
  49. package/dist/components/ConversationList/ConversationPreview/ConversationPreviewUI.vue.d.ts +16 -16
  50. package/dist/components/ConversationList/ConversationSearch/ConversationSearch.vue.d.ts +36 -36
  51. package/dist/components/ConversationList/index.d.ts +442 -442
  52. package/dist/components/FreeBeautyPanel/FreeBeautyPanel.js +257 -0
  53. package/dist/components/FreeBeautyPanel/FreeBeautyPanel.vue.d.ts +6 -0
  54. package/dist/components/FreeBeautyPanel/i18n/en-US/index.d.ts +15 -0
  55. package/dist/components/FreeBeautyPanel/i18n/en-US/index.js +19 -0
  56. package/dist/components/FreeBeautyPanel/i18n/index.d.ts +4 -0
  57. package/dist/components/FreeBeautyPanel/i18n/index.js +6 -0
  58. package/dist/components/FreeBeautyPanel/i18n/zh-CN/index.d.ts +15 -0
  59. package/dist/components/FreeBeautyPanel/i18n/zh-CN/index.js +19 -0
  60. package/dist/components/FreeBeautyPanel/index.d.ts +6 -0
  61. package/dist/components/FreeBeautyPanel/index.js +10 -0
  62. package/dist/components/LiveMonitorView/LiveMonitorView.js +11 -11
  63. package/dist/components/LiveScenePanel/index.d.ts +1 -2
  64. package/dist/components/LiveScenePanel/index.js +44 -43
  65. package/dist/components/LiveView/DefaultStreamViewUI.js +10 -10
  66. package/dist/components/LiveView/PlayerControl/AudioControl.js +97 -93
  67. package/dist/components/LiveView/PlayerControl/AudioControl.vue.d.ts +10 -6
  68. package/dist/components/LiveView/PlayerControl/MultiResolution.js +58 -64
  69. package/dist/components/LiveView/PlayerControl/MultiResolution.vue.d.ts +1 -7
  70. package/dist/components/LiveView/PlayerControl/PlayerControl.js +82 -83
  71. package/dist/components/LiveView/PlayerControl/PlayerControlState.d.ts +6 -6
  72. package/dist/components/LiveView/PlayerControl/PlayerControlState.js +153 -194
  73. package/dist/components/LiveView/index.d.ts +37 -2
  74. package/dist/components/LiveView/index.js +29 -29
  75. package/dist/components/MessageInput/AudioCallPicker/AudioCallPicker.js +63 -65
  76. package/dist/components/MessageInput/MessageInput.js +1 -1
  77. package/dist/components/MessageInput/MessageInput.vue.d.ts +4 -1
  78. package/dist/components/MessageInput/TextEditor/EditorCore.d.ts +2 -1
  79. package/dist/components/MessageInput/TextEditor/EditorCore.js +47 -61
  80. package/dist/components/MessageInput/TextEditor/TextEditor.vue.d.ts +5 -1
  81. package/dist/components/MessageInput/TextEditor/extensions/characterCountExtension.d.ts +19 -0
  82. package/dist/components/MessageInput/TextEditor/extensions/characterCountExtension.js +74 -0
  83. package/dist/components/MessageInput/TextEditor/extensions/imageExtension.d.ts +2 -0
  84. package/dist/components/MessageInput/TextEditor/extensions/imageExtension.js +62 -0
  85. package/dist/components/MessageInput/TextEditor/index.js +48 -39
  86. package/dist/components/MessageInput/VideoCallPicker/VideoCallPicker.js +67 -69
  87. package/dist/components/MessageInput/i18n/index.d.ts +4 -0
  88. package/dist/components/MessageInput/i18n/zh-CN.d.ts +4 -0
  89. package/dist/components/MessageInput/i18n/zh-CN.js +5 -1
  90. package/dist/components/MessageInput/index.d.ts +60 -30
  91. package/dist/components/MessageInput/index.js +1 -1
  92. package/dist/components/MessageList/Message/CustomMessage/CallMessage/CallMessage.js +18 -18
  93. package/dist/components/MessageList/Message/GroupTipMessage/index.js +13 -13
  94. package/dist/components/MessageList/Message/MessageLayout/MessageLayout.js +63 -69
  95. package/dist/components/MessageList/Message/VideoMessage/VideoMessage.js +48 -53
  96. package/dist/components/MessageList/Message/VideoMessage/VideoMessage.vue.d.ts +8 -8
  97. package/dist/components/MessageList/i18n/en-US.d.ts +65 -1
  98. package/dist/components/MessageList/i18n/en-US.js +66 -2
  99. package/dist/components/MessageList/i18n/index.d.ts +128 -0
  100. package/dist/components/MessageList/i18n/index.js +6 -6
  101. package/dist/components/MessageList/i18n/zh-CN.d.ts +65 -1
  102. package/dist/components/MessageList/i18n/zh-CN.js +64 -0
  103. package/dist/components/MicButton/index.js +13 -13
  104. package/dist/components/RoomParticipantList/ParticipantAction.js +78 -0
  105. package/dist/components/RoomParticipantList/ParticipantAction.vue.d.ts +17 -0
  106. package/dist/components/RoomParticipantList/ParticipantItem.js +82 -0
  107. package/dist/components/RoomParticipantList/ParticipantItem.vue.d.ts +27 -0
  108. package/dist/components/RoomParticipantList/PendingParticipantItem.js +75 -0
  109. package/dist/components/RoomParticipantList/PendingParticipantItem.vue.d.ts +16 -0
  110. package/dist/components/RoomParticipantList/RoomAction.js +89 -0
  111. package/dist/components/RoomParticipantList/RoomAction.vue.d.ts +2 -0
  112. package/dist/components/RoomParticipantList/i18n/en-US/index.d.ts +66 -0
  113. package/dist/components/RoomParticipantList/i18n/en-US/index.js +69 -0
  114. package/dist/components/RoomParticipantList/i18n/index.d.ts +2 -0
  115. package/dist/components/RoomParticipantList/i18n/index.js +6 -0
  116. package/dist/components/RoomParticipantList/i18n/zh-CN/index.d.ts +66 -0
  117. package/dist/components/RoomParticipantList/i18n/zh-CN/index.js +69 -0
  118. package/dist/components/RoomParticipantList/index.d.ts +2 -0
  119. package/dist/components/RoomParticipantList/index.js +171 -0
  120. package/dist/components/RoomParticipantList/index.vue.d.ts +2 -0
  121. package/dist/components/RoomParticipantList/useParticpantAction/index.d.ts +15 -0
  122. package/dist/components/RoomParticipantList/useParticpantAction/index.js +71 -0
  123. package/dist/components/RoomParticipantList/useParticpantAction/useAdminAction.d.ts +19 -0
  124. package/dist/components/RoomParticipantList/useParticpantAction/useAdminAction.js +36 -0
  125. package/dist/components/RoomParticipantList/useParticpantAction/useAudioAction.d.ts +19 -0
  126. package/dist/components/RoomParticipantList/useParticpantAction/useAudioAction.js +42 -0
  127. package/dist/components/RoomParticipantList/useParticpantAction/useKickAction.d.ts +11 -0
  128. package/dist/components/RoomParticipantList/useParticpantAction/useKickAction.js +34 -0
  129. package/dist/components/RoomParticipantList/useParticpantAction/useMessageAction.d.ts +11 -0
  130. package/dist/components/RoomParticipantList/useParticpantAction/useMessageAction.js +31 -0
  131. package/dist/components/RoomParticipantList/useParticpantAction/useNameCardAction/changeNameCardDialog.js +4 -0
  132. package/dist/components/RoomParticipantList/useParticpantAction/useNameCardAction/changeNameCardDialog.vue.d.ts +17 -0
  133. package/dist/components/RoomParticipantList/useParticpantAction/useNameCardAction/index.d.ts +11 -0
  134. package/dist/components/RoomParticipantList/useParticpantAction/useNameCardAction/index.js +61 -0
  135. package/dist/components/RoomParticipantList/useParticpantAction/useTransferOwnerAction.d.ts +11 -0
  136. package/dist/components/RoomParticipantList/useParticpantAction/useTransferOwnerAction.js +54 -0
  137. package/dist/components/RoomParticipantList/useParticpantAction/useVideoAction.d.ts +19 -0
  138. package/dist/components/RoomParticipantList/useParticpantAction/useVideoAction.js +40 -0
  139. package/dist/components/RoomParticipantList/useRoomAction/index.d.ts +8 -0
  140. package/dist/components/RoomParticipantList/useRoomAction/index.js +20 -0
  141. package/dist/components/RoomParticipantList/useRoomAction/useRoomAudioAction.d.ts +5 -0
  142. package/dist/components/RoomParticipantList/useRoomAction/useRoomAudioAction.js +51 -0
  143. package/dist/components/RoomParticipantList/useRoomAction/useRoomScreenAction.d.ts +8 -0
  144. package/dist/components/RoomParticipantList/useRoomAction/useRoomScreenAction.js +60 -0
  145. package/dist/components/RoomParticipantList/useRoomAction/useRoomVideoAction.d.ts +5 -0
  146. package/dist/components/RoomParticipantList/useRoomAction/useRoomVideoAction.js +50 -0
  147. package/dist/components/RoomParticipantView/StreamPlay.js +74 -0
  148. package/dist/components/RoomParticipantView/StreamPlay.vue.d.ts +66 -0
  149. package/dist/components/RoomParticipantView/StreamPlayManager/LazyLoadManager.d.ts +56 -0
  150. package/dist/components/RoomParticipantView/StreamPlayManager/LazyLoadManager.js +94 -0
  151. package/dist/components/RoomParticipantView/StreamPlayManager/StreamInfoManager.d.ts +58 -0
  152. package/dist/components/RoomParticipantView/StreamPlayManager/StreamInfoManager.js +97 -0
  153. package/dist/components/RoomParticipantView/StreamPlayManager/StreamPlayer.d.ts +46 -0
  154. package/dist/components/RoomParticipantView/StreamPlayManager/StreamPlayer.js +100 -0
  155. package/dist/components/RoomParticipantView/StreamPlayManager/VideoQualityManager.d.ts +92 -0
  156. package/dist/components/RoomParticipantView/StreamPlayManager/VideoQualityManager.js +177 -0
  157. package/dist/components/RoomParticipantView/StreamPlayManager/index.d.ts +119 -0
  158. package/dist/components/RoomParticipantView/StreamPlayManager/index.js +298 -0
  159. package/dist/components/RoomParticipantView/StreamPlayManager/types.d.ts +14 -0
  160. package/dist/components/RoomParticipantView/StreamPlayManager/types.js +4 -0
  161. package/dist/components/RoomParticipantView/index.d.ts +99 -0
  162. package/dist/components/RoomParticipantView/index.js +32 -0
  163. package/dist/components/RoomParticipantView/index.vue.d.ts +34 -0
  164. package/dist/components/RoomView/ArrowStroke.js +43 -0
  165. package/dist/components/RoomView/ArrowStroke.vue.d.ts +20 -0
  166. package/dist/components/RoomView/GridLayout.js +119 -0
  167. package/dist/components/RoomView/GridLayout.vue.d.ts +20 -0
  168. package/dist/components/RoomView/SpeakerLayout.js +141 -0
  169. package/dist/components/RoomView/SpeakerLayout.vue.d.ts +32 -0
  170. package/dist/components/RoomView/index.d.ts +52 -0
  171. package/dist/components/RoomView/index.js +49 -0
  172. package/dist/components/RoomView/index.vue.d.ts +46 -0
  173. package/dist/components/RoomView/useRoomToolbar.d.ts +5 -0
  174. package/dist/components/RoomView/useRoomToolbar.js +36 -0
  175. package/dist/components/RoomView/useRoomView.d.ts +13 -0
  176. package/dist/components/RoomView/useRoomView.js +40 -0
  177. package/dist/components/RoomView/useStreamItemDimensions.d.ts +30 -0
  178. package/dist/components/RoomView/useStreamItemDimensions.js +57 -0
  179. package/dist/components/ScheduleRoomPanel/Datepicker.js +162 -0
  180. package/dist/components/ScheduleRoomPanel/Datepicker.vue.d.ts +18 -0
  181. package/dist/components/ScheduleRoomPanel/DurationSelector.js +4 -0
  182. package/dist/components/ScheduleRoomPanel/DurationSelector.vue.d.ts +39 -0
  183. package/dist/components/ScheduleRoomPanel/RoomDetail.js +113 -0
  184. package/dist/components/ScheduleRoomPanel/RoomDetail.vue.d.ts +31 -0
  185. package/dist/components/ScheduleRoomPanel/RoomEdit.js +281 -0
  186. package/dist/components/ScheduleRoomPanel/RoomEdit.vue.d.ts +23 -0
  187. package/dist/components/ScheduleRoomPanel/RoomShare.js +110 -0
  188. package/dist/components/ScheduleRoomPanel/RoomShare.vue.d.ts +16 -0
  189. package/dist/components/ScheduleRoomPanel/ScheduleRoomPanel.js +385 -0
  190. package/dist/components/ScheduleRoomPanel/ScheduleRoomPanel.vue.d.ts +40 -0
  191. package/dist/components/ScheduleRoomPanel/ScheduledRoomList.js +345 -0
  192. package/dist/components/ScheduleRoomPanel/ScheduledRoomList.vue.d.ts +8 -0
  193. package/dist/components/ScheduleRoomPanel/Timepicker.js +65 -0
  194. package/dist/components/ScheduleRoomPanel/Timepicker.vue.d.ts +18 -0
  195. package/dist/components/ScheduleRoomPanel/TimezoneSelector.js +4 -0
  196. package/dist/components/ScheduleRoomPanel/TimezoneSelector.vue.d.ts +18 -0
  197. package/dist/components/ScheduleRoomPanel/i18n/en-US/index.d.ts +108 -0
  198. package/dist/components/ScheduleRoomPanel/i18n/en-US/index.js +111 -0
  199. package/dist/components/ScheduleRoomPanel/i18n/index.d.ts +4 -0
  200. package/dist/components/ScheduleRoomPanel/i18n/index.js +6 -0
  201. package/dist/components/ScheduleRoomPanel/i18n/zh-CN/index.d.ts +108 -0
  202. package/dist/components/ScheduleRoomPanel/i18n/zh-CN/index.js +111 -0
  203. package/dist/components/ScheduleRoomPanel/index.d.ts +34 -0
  204. package/dist/components/ScheduleRoomPanel/index.js +12 -0
  205. package/dist/components/ScheduleRoomPanel/type.d.ts +7 -0
  206. package/dist/components/ScheduleRoomPanel/type.js +1 -0
  207. package/dist/components/ScheduleRoomPanel/utils.d.ts +46 -0
  208. package/dist/components/ScheduleRoomPanel/utils.js +123 -0
  209. package/dist/components/Search/Search.vue.d.ts +12 -12
  210. package/dist/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.js +172 -174
  211. package/dist/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.js +58 -60
  212. package/dist/components/Search/SearchAdvanced/SearchAdvanced.js +28 -30
  213. package/dist/components/Search/SearchAdvanced/SearchTab/SearchTab.js +22 -24
  214. package/dist/components/Search/SearchAdvanced/Slider/Slider.js +26 -28
  215. package/dist/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.js +133 -135
  216. package/dist/components/Search/SearchBar/SearchBar.js +56 -58
  217. package/dist/components/Search/index.d.ts +18 -18
  218. package/dist/components/StreamMixer/LocalMixer/index.js +25 -22
  219. package/dist/components/StreamMixer/index.d.ts +1 -2
  220. package/dist/components/StreamMixer/index.js +9 -8
  221. package/dist/components/StreamView/Layout/CustomLayout.js +53 -53
  222. package/dist/components/StreamView/Layout/CustomLayout.vue.d.ts +1 -2
  223. package/dist/components/StreamView/Layout/FloatLayout.vue.d.ts +1 -2
  224. package/dist/components/StreamView/Layout/GridLayout.js +47 -51
  225. package/dist/components/StreamView/Layout/GridLayout.vue.d.ts +1 -2
  226. package/dist/components/StreamView/Layout/MeetingLayout.js +10 -10
  227. package/dist/components/StreamView/Layout/MeetingLayout.vue.d.ts +1 -1
  228. package/dist/components/StreamView/common/StreamList/index.vue.d.ts +1 -1
  229. package/dist/components/StreamView/common/StreamRegion/StreamRegionPC.vue.d.ts +2 -2
  230. package/dist/components/StreamView/index.d.ts +90 -3
  231. package/dist/components/StreamView/index.js +4 -4
  232. package/dist/components/StreamView/index.vue.d.ts +1 -1
  233. package/dist/components/StreamView/manager/mediaManager.js +9 -9
  234. package/dist/components/UIKitModal/UIKitModal.d.ts +7 -0
  235. package/dist/components/UIKitModal/UIKitModal.js +156 -0
  236. package/dist/components/UIKitModal/index.d.ts +2 -0
  237. package/dist/components/UIKitModal/index.js +6 -0
  238. package/dist/components/UIKitModal/index.vue.d.ts +45 -0
  239. package/dist/components/UIKitModal/type.d.ts +21 -0
  240. package/dist/components/UIKitModal/type.js +1 -0
  241. package/dist/components/UIKitModal/useRoomModal/i18n/en-US/index.d.ts +17 -0
  242. package/dist/components/UIKitModal/useRoomModal/i18n/en-US/index.js +21 -0
  243. package/dist/components/UIKitModal/useRoomModal/i18n/index.d.ts +4 -0
  244. package/dist/components/UIKitModal/useRoomModal/i18n/index.js +6 -0
  245. package/dist/components/UIKitModal/useRoomModal/i18n/zh-CN/index.d.ts +17 -0
  246. package/dist/components/UIKitModal/useRoomModal/i18n/zh-CN/index.js +21 -0
  247. package/dist/components/UIKitModal/useRoomModal/index.d.ts +6 -0
  248. package/dist/components/UIKitModal/useRoomModal/index.js +11 -0
  249. package/dist/components/UIKitModal/useRoomModal/useRoomModal.d.ts +21 -0
  250. package/dist/components/UIKitModal/useRoomModal/useRoomModal.js +79 -0
  251. package/dist/components/UserList/AllUserActions/indexH5.js +21 -21
  252. package/dist/components/UserList/AllUserActions/useIndexHooks.d.ts +0 -2
  253. package/dist/components/UserList/AllUserActions/useIndexHooks.js +24 -25
  254. package/dist/components/UserList/UserItem/UserInfo/index.js +19 -19
  255. package/dist/components/UserPicker/UserPicker.js +1 -2
  256. package/dist/components/UserPicker/components/SelectedPanel/SelectedPanel.js +19 -18
  257. package/dist/components/UserPicker/hooks/useSearchFilter.d.ts +2 -2
  258. package/dist/components/UserPicker/hooks/useSearchFilter.js +39 -31
  259. package/dist/components/UserPicker/i18n/en-US.d.ts +1 -0
  260. package/dist/components/UserPicker/i18n/en-US.js +2 -1
  261. package/dist/components/UserPicker/i18n/index.d.ts +2 -0
  262. package/dist/components/UserPicker/i18n/zh-CN.d.ts +1 -0
  263. package/dist/components/UserPicker/i18n/zh-CN.js +2 -1
  264. package/dist/components/UserPicker/index.d.ts +2 -2
  265. package/dist/components/UserPicker/type.d.ts +1 -1
  266. package/dist/components/VideoSetting/CameraSelect.js +6 -7
  267. package/dist/components/VideoSetting/VideoMediaControl.js +45 -44
  268. package/dist/components/VideoSetting/VideoPreview.js +24 -25
  269. package/dist/components/VideoSetting/VideoProfile.js +22 -23
  270. package/dist/components/VideoSetting/VideoSettingTab.js +24 -24
  271. package/dist/components/VideoSetting/index.js +32 -3
  272. package/dist/components/VideoSettingPanel/CameraSelect.js +28 -25
  273. package/dist/components/VideoSettingPanel/VideoPreview.js +13 -13
  274. package/dist/components/VideoSettingPanel/VideoProfile.js +27 -27
  275. package/dist/components/VideoSettingPanel/i18n/en-US/index.d.ts +13 -10
  276. package/dist/components/VideoSettingPanel/i18n/en-US/index.js +13 -10
  277. package/dist/components/VideoSettingPanel/i18n/zh-CN/index.d.ts +13 -10
  278. package/dist/components/VideoSettingPanel/i18n/zh-CN/index.js +13 -10
  279. package/dist/components/VideoSettingPanel/index.d.ts +9 -0
  280. package/dist/components/VideoSettingPanel/index.js +56 -44
  281. package/dist/components/VideoSettingPanel/index.vue.d.ts +9 -0
  282. package/dist/components/VirtualBackgroundPanel/VirtualBackgroundPanel.js +169 -0
  283. package/dist/components/VirtualBackgroundPanel/VirtualBackgroundPanel.vue.d.ts +33 -0
  284. package/dist/components/VirtualBackgroundPanel/i18n/en-US/index.d.ts +10 -0
  285. package/dist/components/VirtualBackgroundPanel/i18n/en-US/index.js +14 -0
  286. package/dist/components/VirtualBackgroundPanel/i18n/index.d.ts +4 -0
  287. package/dist/components/VirtualBackgroundPanel/i18n/index.js +6 -0
  288. package/dist/components/VirtualBackgroundPanel/i18n/zh-CN/index.d.ts +10 -0
  289. package/dist/components/VirtualBackgroundPanel/i18n/zh-CN/index.js +14 -0
  290. package/dist/components/VirtualBackgroundPanel/index.d.ts +20 -0
  291. package/dist/components/VirtualBackgroundPanel/index.js +10 -0
  292. package/dist/hooks/useRoomActions/index.d.ts +1 -1
  293. package/dist/hooks/useRoomActions/index.js +10 -11
  294. package/dist/hooks/useRoomActions/useRoomAudioAction.d.ts +1 -3
  295. package/dist/hooks/useRoomActions/useRoomAudioAction.js +30 -31
  296. package/dist/hooks/useRoomActions/useRoomScreenAction.d.ts +0 -2
  297. package/dist/hooks/useRoomActions/useRoomScreenAction.js +20 -20
  298. package/dist/hooks/useRoomActions/useRoomVideoAction.d.ts +1 -8
  299. package/dist/hooks/useRoomActions/useRoomVideoAction.js +26 -28
  300. package/dist/hooks/useRoomEngine.d.ts +2 -2
  301. package/dist/hooks/useUserActions/index.d.ts +7 -23
  302. package/dist/hooks/useUserActions/index.js +11 -11
  303. package/dist/hooks/useUserActions/useChangeNameCardAction/index.d.ts +1 -9
  304. package/dist/hooks/useUserActions/useKickUserAction.d.ts +1 -9
  305. package/dist/hooks/useUserActions/useSeatAction.d.ts +1 -1
  306. package/dist/hooks/useUserActions/useSeatAction.js +3 -3
  307. package/dist/hooks/useUserActions/useTransferOwnerAction.d.ts +2 -10
  308. package/dist/hooks/useUserActions/useTransferOwnerAction.js +22 -20
  309. package/dist/hooks/useUserActions/useVideoAction.d.ts +1 -9
  310. package/dist/index-7vNB_Vx8.js +64 -0
  311. package/dist/{index-BfIEeWMg.js → index-Do-2CngU.js} +1894 -1759
  312. package/dist/{index-DTi1fL-x.js → index-ZILx4LYk.js} +1210 -1512
  313. package/dist/index.d.ts +3 -6
  314. package/dist/index.js +255 -194
  315. package/dist/report/MetricsKey.d.ts +27 -14
  316. package/dist/report/MetricsKey.js +1 -1
  317. package/dist/report/dataReport.js +12 -8
  318. package/dist/states/ASRState/ASRState.d.ts +61 -0
  319. package/dist/states/ASRState/ASRState.js +79 -0
  320. package/dist/states/ASRState/index.d.ts +1 -0
  321. package/dist/states/ASRState/index.js +4 -0
  322. package/dist/states/BarrageState/BarrageState.d.ts +70 -44
  323. package/dist/states/BarrageState/BarrageState.js +29 -31
  324. package/dist/states/BarrageState/index.js +2 -3
  325. package/dist/states/BattleState/BattleState.d.ts +101 -5
  326. package/dist/states/C2CSettingState/C2CSettingState.d.ts +107 -0
  327. package/dist/states/CoGuestState.d.ts +53 -1
  328. package/dist/states/CoGuestState.js +15 -15
  329. package/dist/states/CoHostState/CoHostState.d.ts +120 -0
  330. package/dist/states/ContactListState/ContactListState.d.ts +56 -0
  331. package/dist/states/ConversationListState/ConversationListState.d.ts +36 -0
  332. package/dist/states/DeviceState/DeviceState.d.ts +68 -10
  333. package/dist/states/DeviceState/DeviceState.js +233 -189
  334. package/dist/states/DeviceState/mediaAbality.d.ts +2 -0
  335. package/dist/states/DeviceState/mediaAbality.js +11 -0
  336. package/dist/states/FreeBeautyState/FreeBeautyState.d.ts +11 -0
  337. package/dist/states/FreeBeautyState/FreeBeautyState.js +103 -0
  338. package/dist/states/FreeBeautyState/index.d.ts +1 -0
  339. package/dist/states/FreeBeautyState/index.js +4 -0
  340. package/dist/states/GroupSettingState/GroupSettingState.d.ts +59 -0
  341. package/dist/states/LiveAudienceState.d.ts +42 -4
  342. package/dist/states/LiveListState/LiveListState.d.ts +2 -2
  343. package/dist/states/LiveListState/LiveListState.js +5 -5
  344. package/dist/states/LiveMonitorState/index.d.ts +42 -0
  345. package/dist/states/LiveMonitorState/player/adapters/trtc.js +6 -6
  346. package/dist/states/LiveSeatState/index.d.ts +58 -8
  347. package/dist/states/LiveSeatState/index.js +20 -18
  348. package/dist/states/LiveSeatState/seatManager.d.ts +293 -6
  349. package/dist/states/LiveSeatState/seatManager.js +283 -0
  350. package/dist/states/LiveSeatState/store.d.ts +0 -2
  351. package/dist/states/LiveSeatState/usePlayStream/RTCStreamManager.js +13 -13
  352. package/dist/states/LiveSeatState/usePlayStream/RTCStreamPlayer.js +7 -7
  353. package/dist/states/LiveSeatState/usePlayStream/index.d.ts +4 -7
  354. package/dist/states/LiveSeatState/usePlayStream/index.js +65 -54
  355. package/dist/states/LoginState.d.ts +45 -0
  356. package/dist/states/MessageActionState/MessageActionState.d.ts +36 -2
  357. package/dist/states/MessageActionState/MessageActionState.js +142 -22
  358. package/dist/states/MessageListState/MessageListState.d.ts +39 -0
  359. package/dist/states/RoomParticipantState/callEventManager.d.ts +10 -0
  360. package/dist/states/RoomParticipantState/callEventManager.js +49 -0
  361. package/dist/states/RoomParticipantState/common.d.ts +14 -0
  362. package/dist/states/RoomParticipantState/common.js +76 -0
  363. package/dist/states/RoomParticipantState/index.d.ts +4 -0
  364. package/dist/states/RoomParticipantState/index.js +93 -0
  365. package/dist/states/RoomParticipantState/participantEventManager.d.ts +66 -0
  366. package/dist/states/RoomParticipantState/participantEventManager.js +326 -0
  367. package/dist/states/RoomParticipantState/participantManager.d.ts +311 -0
  368. package/dist/states/RoomParticipantState/participantManager.js +440 -0
  369. package/dist/states/RoomParticipantState/scheduleEventManager.d.ts +7 -0
  370. package/dist/states/RoomParticipantState/scheduleEventManager.js +37 -0
  371. package/dist/states/RoomParticipantState/store.d.ts +38 -0
  372. package/dist/states/RoomParticipantState/store.js +102 -0
  373. package/dist/states/RoomState/callManager.d.ts +43 -0
  374. package/dist/states/RoomState/callManager.js +208 -0
  375. package/dist/states/RoomState/common.d.ts +25 -0
  376. package/dist/states/RoomState/common.js +101 -0
  377. package/dist/states/RoomState/index.d.ts +8 -0
  378. package/dist/states/RoomState/index.js +52 -0
  379. package/dist/states/RoomState/roomManager.d.ts +35 -0
  380. package/dist/states/RoomState/roomManager.js +129 -0
  381. package/dist/states/RoomState/scheduleManager.d.ts +48 -0
  382. package/dist/states/RoomState/scheduleManager.js +174 -0
  383. package/dist/states/RoomState/store.d.ts +103 -0
  384. package/dist/states/RoomState/store.js +12 -0
  385. package/dist/states/SearchState.d.ts +47 -0
  386. package/dist/states/SeatStore.d.ts +59 -52
  387. package/dist/states/UIKitModalState/UIKitModalState.d.ts +17 -0
  388. package/dist/states/UIKitModalState/UIKitModalState.js +63 -0
  389. package/dist/states/UIKitModalState/index.d.ts +1 -0
  390. package/dist/states/UIKitModalState/index.js +4 -0
  391. package/dist/states/UserState/index.js +22 -28
  392. package/dist/states/UserState/store.d.ts +1 -1
  393. package/dist/states/UserState/store.js +55 -62
  394. package/dist/states/UserState/userManager.d.ts +2 -2
  395. package/dist/states/UserState/userManager.js +23 -25
  396. package/dist/states/VideoMixerState/VideoMixerState.d.ts +57 -1
  397. package/dist/states/VideoMixerState/VideoMixerState.js +91 -90
  398. package/dist/states/VideoMixerState/index.d.ts +1 -0
  399. package/dist/states/VideoMixerState/index.js +2 -1
  400. package/dist/states/VirtualBackgroundState/VirtualBackgroundState.d.ts +52 -0
  401. package/dist/states/VirtualBackgroundState/VirtualBackgroundState.js +99 -0
  402. package/dist/states/VirtualBackgroundState/index.d.ts +1 -0
  403. package/dist/states/VirtualBackgroundState/index.js +4 -0
  404. package/dist/styles/index.css +1 -1
  405. package/dist/subEntry/common/base.d.ts +5 -0
  406. package/dist/subEntry/common/base.js +21 -0
  407. package/dist/subEntry/common/index.d.ts +2 -0
  408. package/dist/subEntry/common/index.js +29 -0
  409. package/dist/subEntry/common/rtc.d.ts +4 -0
  410. package/dist/subEntry/common/rtc.js +10 -0
  411. package/dist/subEntry/live/index.d.ts +4 -0
  412. package/dist/subEntry/live/index.js +200 -0
  413. package/dist/subEntry/live/live.d.ts +21 -0
  414. package/dist/subEntry/live/live.js +45 -0
  415. package/dist/{rtc → subEntry/live}/server.d.ts +1 -1
  416. package/dist/{rtc → subEntry/live}/server.js +4 -4
  417. package/dist/subEntry/room/index.d.ts +4 -0
  418. package/dist/subEntry/room/index.js +180 -0
  419. package/dist/subEntry/room/room.d.ts +11 -0
  420. package/dist/subEntry/room/room.js +25 -0
  421. package/dist/subEntry/room/server.d.ts +19 -0
  422. package/dist/subEntry/room/server.js +97 -0
  423. package/dist/types/asr.d.ts +29 -0
  424. package/dist/types/asr.js +4 -0
  425. package/dist/types/barrage.d.ts +83 -0
  426. package/dist/types/barrage.js +4 -0
  427. package/dist/types/beauty.d.ts +9 -0
  428. package/dist/types/beauty.js +4 -0
  429. package/dist/types/device.d.ts +0 -1
  430. package/dist/types/index.d.ts +7 -3
  431. package/dist/types/index.js +125 -108
  432. package/dist/types/participant.d.ts +243 -0
  433. package/dist/types/participant.js +10 -0
  434. package/dist/types/room.d.ts +202 -55
  435. package/dist/types/room.js +5 -3
  436. package/dist/types/virtualBackground.d.ts +14 -0
  437. package/dist/types/virtualBackground.js +5 -0
  438. package/dist/utils/call.d.ts +1 -1
  439. package/dist/utils/call.js +78 -79
  440. package/dist/utils/compare.d.ts +10 -0
  441. package/dist/utils/compare.js +12 -0
  442. package/package.json +11 -7
  443. package/src/baseComp/AudioIcon.vue +11 -3
  444. package/src/components/AudioSetting/AudioMediaControl.vue +10 -9
  445. package/src/components/AudioSetting/AudioRequestDialog.vue +11 -11
  446. package/src/components/AudioSetting/AudioSettingTab.vue +14 -14
  447. package/src/components/AudioSetting/MicrophoneSelect.vue +11 -11
  448. package/src/components/AudioSetting/SpeakerSelect.vue +10 -11
  449. package/src/components/AudioSetting/index.ts +1 -1
  450. package/src/components/AudioSetting/index.vue +4 -7
  451. package/src/components/AudioSettingPanel/MicrophoneSelect.vue +77 -0
  452. package/src/components/AudioSettingPanel/SpeakerSelect.vue +78 -0
  453. package/src/components/AudioSettingPanel/i18n/en-US/index.ts +12 -6
  454. package/src/components/AudioSettingPanel/i18n/zh-CN/index.ts +12 -6
  455. package/src/components/AudioSettingPanel/index.ts +3 -1
  456. package/src/components/AudioSettingPanel/index.vue +150 -122
  457. package/src/components/BarrageList/BarrageList.vue +1 -1
  458. package/src/components/BarrageList/BarrageListH5.vue +1 -1
  459. package/src/components/BarrageList/BarrageListState.ts +1 -1
  460. package/src/components/BarrageList/Message/MessageLayout/MessageBubble/MessageBubble.vue +1 -1
  461. package/src/components/BarrageList/Message/MessageLayout/MessageLayout.vue +2 -2
  462. package/src/components/BarrageList/Message/TextMessage/TextMessage.vue +1 -1
  463. package/src/components/ChatSetting/GroupChatSetting/GroupChatSetting.vue +5 -0
  464. package/src/components/ConversationList/ConversationActions/ConversationActions.vue +1 -7
  465. package/src/components/ConversationList/ConversationPreview/ConversationPreviewTimestamp.vue +3 -3
  466. package/src/components/FreeBeautyPanel/FreeBeautyPanel.vue +618 -0
  467. package/src/components/FreeBeautyPanel/i18n/en-US/index.ts +16 -0
  468. package/src/components/FreeBeautyPanel/i18n/index.ts +4 -0
  469. package/src/components/FreeBeautyPanel/i18n/zh-CN/index.ts +16 -0
  470. package/src/components/FreeBeautyPanel/index.ts +11 -0
  471. package/src/components/LiveScenePanel/index.ts +4 -1
  472. package/src/components/LiveView/PlayerControl/AudioControl.vue +72 -80
  473. package/src/components/LiveView/PlayerControl/MultiResolution.vue +29 -26
  474. package/src/components/LiveView/PlayerControl/PlayerControl.vue +10 -36
  475. package/src/components/LiveView/PlayerControl/PlayerControlState.ts +108 -286
  476. package/src/components/LiveView/index.ts +2 -1
  477. package/src/components/MessageInput/AudioCallPicker/AudioCallPicker.vue +8 -6
  478. package/src/components/MessageInput/MessageInput.vue +2 -0
  479. package/src/components/MessageInput/TextEditor/EditorCore.ts +13 -26
  480. package/src/components/MessageInput/TextEditor/TextEditor.vue +23 -2
  481. package/src/components/MessageInput/TextEditor/extensions/characterCountExtension.ts +159 -0
  482. package/src/components/MessageInput/TextEditor/extensions/imageExtension.ts +79 -0
  483. package/src/components/MessageInput/VideoCallPicker/VideoCallPicker.vue +8 -6
  484. package/src/components/MessageInput/i18n/zh-CN.ts +4 -0
  485. package/src/components/MessageInput/types.d.ts +1 -0
  486. package/src/components/MessageList/Message/CustomMessage/CallMessage/CallMessage.vue +4 -2
  487. package/src/components/MessageList/Message/GroupTipMessage/GroupTipMessage.vue +5 -4
  488. package/src/components/MessageList/Message/MessageLayout/MessageLayout.vue +8 -8
  489. package/src/components/MessageList/Message/VideoMessage/VideoMessage.vue +46 -43
  490. package/src/components/MessageList/Message/VideoMessage/index.ts +1 -1
  491. package/src/components/MessageList/i18n/en-US.ts +66 -0
  492. package/src/components/MessageList/i18n/index.ts +4 -4
  493. package/src/components/MessageList/i18n/zh-CN.ts +66 -0
  494. package/src/components/RoomParticipantList/ParticipantAction.vue +196 -0
  495. package/src/components/RoomParticipantList/ParticipantItem.vue +205 -0
  496. package/src/components/RoomParticipantList/PendingParticipantItem.vue +142 -0
  497. package/src/components/RoomParticipantList/RoomAction.vue +141 -0
  498. package/src/components/RoomParticipantList/i18n/en-US/index.ts +74 -0
  499. package/src/components/RoomParticipantList/i18n/index.ts +2 -0
  500. package/src/components/RoomParticipantList/i18n/zh-CN/index.ts +74 -0
  501. package/src/components/RoomParticipantList/index.ts +10 -0
  502. package/src/components/RoomParticipantList/index.vue +285 -0
  503. package/src/components/RoomParticipantList/useParticpantAction/index.ts +94 -0
  504. package/src/components/RoomParticipantList/useParticpantAction/useAdminAction.ts +56 -0
  505. package/src/components/RoomParticipantList/useParticpantAction/useAudioAction.ts +66 -0
  506. package/src/components/RoomParticipantList/useParticpantAction/useKickAction.ts +46 -0
  507. package/src/components/RoomParticipantList/useParticpantAction/useMessageAction.ts +42 -0
  508. package/src/components/RoomParticipantList/useParticpantAction/useNameCardAction/changeNameCardDialog.vue +51 -0
  509. package/src/components/RoomParticipantList/useParticpantAction/useNameCardAction/index.ts +80 -0
  510. package/src/components/RoomParticipantList/useParticpantAction/useTransferOwnerAction.ts +77 -0
  511. package/src/components/RoomParticipantList/useParticpantAction/useVideoAction.ts +59 -0
  512. package/src/components/RoomParticipantList/useRoomAction/index.ts +23 -0
  513. package/src/components/RoomParticipantList/useRoomAction/useRoomAudioAction.ts +67 -0
  514. package/src/components/RoomParticipantList/useRoomAction/useRoomScreenAction.ts +69 -0
  515. package/src/components/RoomParticipantList/useRoomAction/useRoomVideoAction.ts +66 -0
  516. package/src/components/RoomParticipantView/StreamPlay.vue +127 -0
  517. package/src/components/RoomParticipantView/StreamPlayManager/LazyLoadManager.ts +174 -0
  518. package/src/components/RoomParticipantView/StreamPlayManager/README.md +768 -0
  519. package/src/components/RoomParticipantView/StreamPlayManager/StreamInfoManager.ts +209 -0
  520. package/src/components/RoomParticipantView/StreamPlayManager/StreamPlayer.ts +183 -0
  521. package/src/components/RoomParticipantView/StreamPlayManager/VideoQualityManager.ts +357 -0
  522. package/src/components/RoomParticipantView/StreamPlayManager/index.ts +501 -0
  523. package/src/components/RoomParticipantView/StreamPlayManager/types.ts +13 -0
  524. package/src/components/RoomParticipantView/index.ts +5 -0
  525. package/src/components/RoomParticipantView/index.vue +43 -0
  526. package/src/components/RoomView/ArrowStroke.vue +265 -0
  527. package/src/components/RoomView/GridLayout.vue +236 -0
  528. package/src/components/RoomView/SpeakerLayout.vue +400 -0
  529. package/src/components/RoomView/index.ts +5 -0
  530. package/src/components/RoomView/index.vue +58 -0
  531. package/src/components/RoomView/useRoomToolbar.ts +97 -0
  532. package/src/components/RoomView/useRoomView.ts +48 -0
  533. package/src/components/RoomView/useStreamItemDimensions.ts +162 -0
  534. package/src/components/ScheduleRoomPanel/Datepicker.vue +332 -0
  535. package/src/components/ScheduleRoomPanel/DurationSelector.vue +92 -0
  536. package/src/components/ScheduleRoomPanel/RoomDetail.vue +240 -0
  537. package/src/components/ScheduleRoomPanel/RoomEdit.vue +473 -0
  538. package/src/components/ScheduleRoomPanel/RoomShare.vue +216 -0
  539. package/src/components/ScheduleRoomPanel/ScheduleRoomPanel.vue +625 -0
  540. package/src/components/ScheduleRoomPanel/ScheduledRoomList.vue +622 -0
  541. package/src/components/ScheduleRoomPanel/Timepicker.vue +86 -0
  542. package/src/components/ScheduleRoomPanel/TimezoneSelector.vue +70 -0
  543. package/src/components/ScheduleRoomPanel/i18n/en-US/index.ts +116 -0
  544. package/src/components/ScheduleRoomPanel/i18n/index.ts +4 -0
  545. package/src/components/ScheduleRoomPanel/i18n/zh-CN/index.ts +116 -0
  546. package/src/components/ScheduleRoomPanel/index.ts +14 -0
  547. package/src/components/ScheduleRoomPanel/type.ts +7 -0
  548. package/src/components/ScheduleRoomPanel/utils.ts +281 -0
  549. package/src/components/Search/SearchAdvanced/DateRangePicker/DateRangePicker.scss +1 -4
  550. package/src/components/Search/SearchAdvanced/MessageAdvanced/MessageAdvanced.scss +1 -4
  551. package/src/components/Search/SearchAdvanced/SearchAdvanced.scss +1 -4
  552. package/src/components/Search/SearchAdvanced/SearchTab/SearchTab.scss +1 -4
  553. package/src/components/Search/SearchAdvanced/Slider/Slider.scss +1 -4
  554. package/src/components/Search/SearchAdvanced/UserAdvanced/UserAdvanced.scss +1 -4
  555. package/src/components/Search/SearchBar/SearchBar.scss +3 -6
  556. package/src/components/StreamMixer/LocalMixer/index.vue +6 -1
  557. package/src/components/StreamMixer/index.ts +4 -1
  558. package/src/components/StreamView/Layout/CustomLayout.vue +40 -36
  559. package/src/components/StreamView/Layout/GridLayout.vue +31 -40
  560. package/src/components/StreamView/Layout/MeetingLayout.vue +34 -35
  561. package/src/components/StreamView/index.ts +5 -3
  562. package/src/components/StreamView/manager/mediaManager.ts +1 -2
  563. package/src/components/UIKitModal/UIKitModal.ts +71 -0
  564. package/src/components/UIKitModal/index.scss +134 -0
  565. package/src/components/UIKitModal/index.ts +2 -0
  566. package/src/components/UIKitModal/index.vue +160 -0
  567. package/src/components/UIKitModal/type.ts +24 -0
  568. package/src/components/UIKitModal/useRoomModal/i18n/en-US/index.ts +19 -0
  569. package/src/components/UIKitModal/useRoomModal/i18n/index.ts +4 -0
  570. package/src/components/UIKitModal/useRoomModal/i18n/zh-CN/index.ts +18 -0
  571. package/src/components/UIKitModal/useRoomModal/index.ts +11 -0
  572. package/src/components/UIKitModal/useRoomModal/useRoomModal.ts +103 -0
  573. package/src/components/UserList/AllUserActions/indexH5.vue +3 -3
  574. package/src/components/UserList/AllUserActions/useIndexHooks.ts +1 -1
  575. package/src/components/UserList/UserItem/UserInfo/index.vue +17 -12
  576. package/src/components/UserPicker/UserPicker.vue +1 -1
  577. package/src/components/UserPicker/components/SelectedPanel/SelectedPanel.vue +1 -0
  578. package/src/components/UserPicker/hooks/useSearchFilter.ts +27 -18
  579. package/src/components/UserPicker/i18n/en-US.ts +1 -0
  580. package/src/components/UserPicker/i18n/zh-CN.ts +1 -0
  581. package/src/components/UserPicker/type.ts +1 -1
  582. package/src/components/VideoSetting/CameraSelect.vue +11 -11
  583. package/src/components/VideoSetting/VideoMediaControl.vue +22 -21
  584. package/src/components/VideoSetting/VideoPreview.vue +14 -8
  585. package/src/components/VideoSetting/VideoProfile.vue +13 -15
  586. package/src/components/VideoSetting/VideoSettingTab.vue +9 -9
  587. package/src/components/VideoSettingPanel/CameraSelect.vue +8 -3
  588. package/src/components/VideoSettingPanel/VideoPreview.vue +4 -4
  589. package/src/components/VideoSettingPanel/VideoProfile.vue +6 -6
  590. package/src/components/VideoSettingPanel/i18n/en-US/index.ts +13 -10
  591. package/src/components/VideoSettingPanel/i18n/zh-CN/index.ts +13 -10
  592. package/src/components/VideoSettingPanel/index.ts +2 -2
  593. package/src/components/VideoSettingPanel/index.vue +73 -74
  594. package/src/components/VirtualBackgroundPanel/VirtualBackgroundPanel.vue +337 -0
  595. package/src/components/VirtualBackgroundPanel/assets/blurred-background.png +0 -0
  596. package/src/components/VirtualBackgroundPanel/assets/close-virtual-background.png +0 -0
  597. package/src/components/VirtualBackgroundPanel/i18n/en-US/index.ts +11 -0
  598. package/src/components/VirtualBackgroundPanel/i18n/index.ts +4 -0
  599. package/src/components/VirtualBackgroundPanel/i18n/zh-CN/index.ts +11 -0
  600. package/src/components/VirtualBackgroundPanel/index.ts +11 -0
  601. package/src/hooks/useRoomActions/index.ts +3 -2
  602. package/src/hooks/useRoomActions/useRoomAudioAction.ts +11 -12
  603. package/src/hooks/useRoomActions/useRoomScreenAction.ts +12 -13
  604. package/src/hooks/useRoomActions/useRoomVideoAction.ts +10 -13
  605. package/src/hooks/useRoomEngine.ts +3 -2
  606. package/src/hooks/useUserActions/index.ts +38 -43
  607. package/src/hooks/useUserActions/useSeatAction.ts +10 -10
  608. package/src/hooks/useUserActions/useTransferOwnerAction.ts +10 -10
  609. package/src/index.ts +7 -9
  610. package/src/report/MetricsKey.ts +28 -14
  611. package/src/report/dataReport.ts +13 -9
  612. package/src/subEntry/common/base.ts +6 -0
  613. package/src/subEntry/common/index.ts +2 -0
  614. package/src/subEntry/common/rtc.ts +5 -0
  615. package/src/subEntry/live/index.ts +8 -0
  616. package/src/subEntry/live/live.ts +23 -0
  617. package/src/{rtc → subEntry/live}/server.ts +3 -3
  618. package/src/subEntry/room/index.ts +8 -0
  619. package/src/subEntry/room/room.ts +12 -0
  620. package/src/subEntry/room/server.ts +123 -0
  621. package/src/types/asr.ts +31 -0
  622. package/src/types/barrage.ts +86 -0
  623. package/src/types/beauty.ts +10 -0
  624. package/src/types/device.ts +3 -5
  625. package/src/types/index.ts +9 -3
  626. package/src/types/participant.ts +155 -0
  627. package/src/types/room.ts +122 -57
  628. package/src/types/user.ts +2 -0
  629. package/src/types/virtualBackground.ts +17 -0
  630. package/src/utils/call.ts +25 -26
  631. package/src/utils/compare.ts +34 -0
  632. package/tsconfig.eslint.json +15 -0
  633. package/tsconfig.json +7 -1
  634. package/dist/AudioRequestDialog.vue_vue_type_script_setup_true_lang-DESfuJPj.js +0 -89
  635. package/dist/index-DTq2ybsB.js +0 -33
  636. package/dist/index.vue_vue_type_script_setup_true_lang-DZIBxSQ7.js +0 -32
  637. package/dist/rtc/index.d.ts +0 -501
  638. package/dist/rtc/index.js +0 -67
  639. package/dist/states/RoomState.d.ts +0 -173
  640. package/dist/states/RoomState.js +0 -272
  641. package/src/rtc/index.ts +0 -100
@@ -0,0 +1,285 @@
1
+ <template>
2
+ <div class="participant-list">
3
+ <div class="search-container">
4
+ <div class="search-box">
5
+ <IconSearch class="search-icon" size="20" />
6
+ <input
7
+ v-model="searchText"
8
+ class="search-input"
9
+ type="text"
10
+ :placeholder="t('ParticipantList.Search')"
11
+ >
12
+ </div>
13
+ </div>
14
+
15
+ <!-- 标签页 -->
16
+ <div class="tabs">
17
+ <div
18
+ :class="['tab', { active: activeTab === 'joined' }]"
19
+ @click="activeTab = 'joined'"
20
+ >
21
+ <span class="title">{{ t('ParticipantList.Joined') }}({{ currentRoom?.participantCount || 0 }})</span>
22
+ </div>
23
+ <div
24
+ :class="['tab', { active: activeTab === 'unjoined' }]"
25
+ @click="activeTab = 'unjoined'"
26
+ >
27
+ <span class="title">{{ t('ParticipantList.NotJoined') }}({{ pendingParticipantList.length }})</span>
28
+ </div>
29
+ </div>
30
+
31
+ <template v-if="activeTab === 'joined'">
32
+ <!-- 成员列表 -->
33
+ <div class="participant-container">
34
+ <div v-if="filteredParticipants.length === 0" class="empty-state">
35
+ {{ t('ParticipantList.NoMember') }}
36
+ </div>
37
+ <ParticipantItem
38
+ v-for="participant in filteredParticipants"
39
+ :key="participant.userId"
40
+ :participant="participant"
41
+ :is-local="participant.userId === localParticipant?.userId"
42
+ :is-hovered="hoveredUserId === participant.userId"
43
+ @hover="handleParticipantHover"
44
+ @leave="handleParticipantLeave"
45
+ >
46
+ <template #actions>
47
+ <ParticipantAction
48
+ :participant="participant"
49
+ :is-local="participant.userId === localParticipant?.userId"
50
+ />
51
+ </template>
52
+ </ParticipantItem>
53
+ </div>
54
+
55
+ <!-- 底部操作 -->
56
+ <div class="footer">
57
+ <RoomAction v-if="activeTab === 'joined'" />
58
+ </div>
59
+ </template>
60
+
61
+ <template v-if="activeTab === 'unjoined'">
62
+ <div class="unjoined-user-container">
63
+ <PendingParticipantItem
64
+ v-for="userInfo in filteredParticipants"
65
+ :key="userInfo.userId"
66
+ :userInfo="userInfo"
67
+ />
68
+ </div>
69
+
70
+ <!-- 底部操作 -->
71
+ <div class="footer">
72
+ <TUIButton
73
+ v-if="pendingParticipantList.length > 0"
74
+ type="primary"
75
+ :style="{ minWidth: '80%' }"
76
+ @click="handleCallAllPendingParticipant"
77
+ >
78
+ {{ t('ParticipantList.CallAll') }}
79
+ </TUIButton>
80
+ </div>
81
+ </template>
82
+ </div>
83
+ </template>
84
+
85
+ <script setup lang="ts">
86
+ import { ref, computed, watch } from 'vue';
87
+ import { IconSearch, useUIKit, TUIButton } from '@tencentcloud/uikit-base-component-vue3';
88
+ import { useRoomParticipantState } from '../../states/RoomParticipantState';
89
+ import { useRoomState } from '../../states/RoomState';
90
+ import { RoomParticipantStatus, RoomParticipantRole, DeviceStatus } from '../../types';
91
+ import { combineComparators, createComparator } from '../../utils/compare';
92
+ import ParticipantAction from './ParticipantAction.vue';
93
+ import ParticipantItem from './ParticipantItem.vue';
94
+ import PendingParticipantItem from './PendingParticipantItem.vue';
95
+ import RoomAction from './RoomAction.vue';
96
+ import type { RoomParticipant } from '../../types';
97
+
98
+ const { pendingParticipantList } = useRoomParticipantState();
99
+
100
+ const { t } = useUIKit();
101
+ const {
102
+ currentRoom,
103
+ callUserToRoom,
104
+ } = useRoomState();
105
+ const {
106
+ participantList,
107
+ localParticipant,
108
+ participantListCursor,
109
+ getParticipantList,
110
+ } = useRoomParticipantState();
111
+
112
+ watch(() => currentRoom.value?.roomId, (newVal, oldVal) => {
113
+ if (newVal && newVal !== oldVal && participantListCursor.value === '') {
114
+ getParticipantList({ cursor: participantListCursor.value });
115
+ }
116
+ }, { immediate: true });
117
+
118
+ const searchText = ref('');
119
+ const activeTab = ref<'joined' | 'unjoined'>('joined');
120
+ const hoveredUserId = ref<string | null>(null);
121
+
122
+ const defaultUserListCompareFunction = combineComparators(
123
+ createComparator((userInfo: RoomParticipant) =>
124
+ Boolean(userInfo.userId === localParticipant.value?.userId),
125
+ ),
126
+ createComparator((userInfo: RoomParticipant) =>
127
+ Boolean(userInfo.role === RoomParticipantRole.Owner),
128
+ ),
129
+ createComparator((userInfo: RoomParticipant) =>
130
+ Boolean(userInfo.role === RoomParticipantRole.Admin),
131
+ ),
132
+ createComparator((userInfo: RoomParticipant) => Boolean(userInfo.screenShareStatus === DeviceStatus.On)),
133
+ createComparator((userInfo: RoomParticipant) =>
134
+ Boolean(userInfo.cameraStatus === DeviceStatus.On && userInfo.microphoneStatus === DeviceStatus.On),
135
+ ),
136
+ createComparator((userInfo: RoomParticipant) => Boolean(userInfo.cameraStatus === DeviceStatus.On)),
137
+ createComparator((userInfo: RoomParticipant) => Boolean(userInfo.microphoneStatus === DeviceStatus.On)),
138
+ createComparator((userInfo: RoomParticipant) => Boolean(userInfo.roomStatus === RoomParticipantStatus.InCalling)),
139
+ );
140
+
141
+ const showParticipantList = computed(() => {
142
+ if (activeTab.value === 'joined') {
143
+ return [...participantList.value].sort(defaultUserListCompareFunction);
144
+ }
145
+ if (activeTab.value === 'unjoined') {
146
+ return [...pendingParticipantList.value].sort(defaultUserListCompareFunction);
147
+ }
148
+ return [];
149
+ });
150
+
151
+ const filteredParticipants = computed(() => {
152
+ if (!searchText.value.trim()) {
153
+ return showParticipantList.value;
154
+ }
155
+
156
+ const searchLower = searchText.value.toLowerCase();
157
+ return showParticipantList.value.filter(participant =>
158
+ participant.userName.toLowerCase().includes(searchLower)
159
+ || participant.nameCard.toLowerCase().includes(searchLower)
160
+ || participant.userId.toLowerCase().includes(searchLower),
161
+ );
162
+ });
163
+
164
+ const handleParticipantHover = (userId: string) => {
165
+ hoveredUserId.value = userId;
166
+ };
167
+
168
+ const handleParticipantLeave = () => {
169
+ hoveredUserId.value = null;
170
+ };
171
+
172
+ async function handleCallAllPendingParticipant() {
173
+ const userIdList = pendingParticipantList.value.map(participant => participant.userId);
174
+ if (!currentRoom.value?.roomId) {
175
+ return;
176
+ }
177
+ await callUserToRoom({
178
+ roomId: currentRoom.value?.roomId || '',
179
+ userIdList,
180
+ timeout: 60,
181
+ });
182
+ }
183
+ </script>
184
+
185
+ <style scoped lang="scss">
186
+ .participant-list {
187
+ width: 100%;
188
+ height: 100%;
189
+ background: var(--bg-color-operate);
190
+ min-width: 200px;
191
+ display: flex;
192
+ flex-direction: column;
193
+ }
194
+
195
+ .search-container {
196
+ padding: 16px 20px;
197
+ display: flex;
198
+ gap: 12px;
199
+ align-items: center;
200
+
201
+ .search-box {
202
+ display: flex;
203
+ align-items: center;
204
+ flex: 1;
205
+ height: 32px;
206
+ padding: 0 16px;
207
+ color: var(--text-color-primary);
208
+ background-color: var(--bg-color-input);
209
+ border-radius: 16px;
210
+
211
+ .search-input {
212
+ width: 100%;
213
+ margin-left: 8px;
214
+ font-size: 14px;
215
+ color: var(--text-color-primary);
216
+ background: none;
217
+ border: none;
218
+ outline: none;
219
+ }
220
+ }
221
+ }
222
+
223
+ .tabs {
224
+ position: relative;
225
+ display: flex;
226
+ align-items: center;
227
+ justify-content: space-between;
228
+ box-sizing: border-box;
229
+ height: 36px;
230
+ padding: 3px 4px;
231
+ margin: 0 20px;
232
+ cursor: pointer;
233
+ background-color: var(--bg-color-input);
234
+ border-radius: 20px;
235
+
236
+ .tab {
237
+ display: flex;
238
+ flex: 1;
239
+ align-items: center;
240
+ justify-content: center;
241
+ height: 100%;
242
+ overflow: hidden;
243
+ text-overflow: ellipsis;
244
+ white-space: nowrap;
245
+ border-radius: 20px;
246
+
247
+ &.active {
248
+ background-color: var(--bg-color-operate);
249
+ }
250
+
251
+ .title {
252
+ font-size: 14px;
253
+ font-weight: 400;
254
+ color: var(--text-color-primary);
255
+ filter: drop-shadow(0 2px 4px var(--base-color-black-8))
256
+ drop-shadow(0 6px 10px var(--base-color-black-8))
257
+ drop-shadow(0 3px 14px var(--base-color-black-8));
258
+ border-radius: 20px;
259
+ transform: translateX(4px);
260
+ }
261
+ }
262
+ }
263
+
264
+ .participant-container, .unjoined-user-container {
265
+ flex: 1;
266
+ overflow-y: auto;
267
+ margin-top: 10px;
268
+ }
269
+
270
+ .empty-state {
271
+ display: flex;
272
+ align-items: center;
273
+ justify-content: center;
274
+ height: 200px;
275
+ color: #999999;
276
+ font-size: 14px;
277
+ }
278
+
279
+ .footer {
280
+ display: flex;
281
+ padding: 16px 20px;
282
+ gap: 12px;
283
+ justify-content: center;
284
+ }
285
+ </style>
@@ -0,0 +1,94 @@
1
+ import { computed } from 'vue';
2
+ import type { ComputedRef, CSSProperties } from 'vue';
3
+ import { useRoomParticipantState } from '../../../states/RoomParticipantState';
4
+ import { RoomParticipantRole, DeviceStatus } from '../../../types';
5
+ import { useSetAdminAction, useRevokeAdminAction } from './useAdminAction';
6
+ import { useMuteAudioAction, useUnmuteAudioAction } from './useAudioAction';
7
+ import { useKickAction } from './useKickAction';
8
+ import { useMessageAction } from './useMessageAction';
9
+ import { useNameCardAction } from './useNameCardAction';
10
+ import { useTransferOwnerAction } from './useTransferOwnerAction';
11
+ import { useMuteVideoAction, useUnmuteVideoAction } from './useVideoAction';
12
+ import type { RoomParticipant } from '../../../types';
13
+ import type { TUIIcon } from '@tencentcloud/uikit-base-component-vue3';
14
+
15
+ const {
16
+ localParticipant,
17
+ } = useRoomParticipantState();
18
+
19
+ export function useParticipantAction({ targetParticipant }: { targetParticipant: RoomParticipant }): {
20
+ controlList: ComputedRef<{ key: string; label: string; handler: () => void; icon?: typeof TUIIcon; style?: CSSProperties }[]>;
21
+ } {
22
+ const canOperate = computed(() => {
23
+ if (!localParticipant.value) {
24
+ return false;
25
+ }
26
+ const isLocalOwner = localParticipant.value.role === RoomParticipantRole.Owner;
27
+ const isLocalAdmin = localParticipant.value.role === RoomParticipantRole.Admin;
28
+ const isTargetGeneralUser = targetParticipant.role === RoomParticipantRole.GeneralUser;
29
+ return isLocalOwner || (isLocalAdmin && isTargetGeneralUser);
30
+ });
31
+
32
+ const isTargetParticipantLocal = computed(() => targetParticipant.userId === localParticipant.value?.userId);
33
+
34
+ const canKick = computed(() => canOperate.value && targetParticipant.role !== RoomParticipantRole.Owner);
35
+
36
+ const canTransferOwner = computed(() => localParticipant.value?.role === RoomParticipantRole.Owner && targetParticipant.role !== RoomParticipantRole.Owner);
37
+
38
+ const canSetAdmin = computed(() => localParticipant.value?.role === RoomParticipantRole.Owner && !isTargetParticipantLocal.value && targetParticipant.role === RoomParticipantRole.GeneralUser);
39
+
40
+ const canRevokeAdmin = computed(() => localParticipant.value?.role === RoomParticipantRole.Owner && !isTargetParticipantLocal.value && targetParticipant.role === RoomParticipantRole.Admin);
41
+
42
+ const nameCardAction = useNameCardAction({ targetParticipant });
43
+ const messageAction = useMessageAction({ targetParticipant });
44
+ const kickAction = useKickAction({ targetParticipant });
45
+
46
+ const hasAudio = computed(() => targetParticipant.microphoneStatus === DeviceStatus.On);
47
+ const hasVideo = computed(() => targetParticipant.cameraStatus === DeviceStatus.On);
48
+
49
+ const controlList = computed(() => {
50
+ const controlListResult: { key: string; label: string; handler: () => void }[] = [];
51
+ if (canOperate.value && !isTargetParticipantLocal.value) {
52
+ if (hasAudio.value) {
53
+ const muteAudioAction = useMuteAudioAction({ targetParticipant });
54
+ controlListResult.push(muteAudioAction);
55
+ } else {
56
+ const unmuteAudioAction = useUnmuteAudioAction({ targetParticipant });
57
+ controlListResult.push(unmuteAudioAction);
58
+ }
59
+ if (hasVideo.value) {
60
+ const muteVideoAction = useMuteVideoAction({ targetParticipant });
61
+ controlListResult.push(muteVideoAction);
62
+ } else {
63
+ const unmuteVideoAction = useUnmuteVideoAction({ targetParticipant });
64
+ controlListResult.push(unmuteVideoAction);
65
+ }
66
+ }
67
+ if (canTransferOwner.value) {
68
+ const transferOwnerAction = useTransferOwnerAction({ targetParticipant });
69
+ controlListResult.push(transferOwnerAction);
70
+ }
71
+ if (canSetAdmin.value) {
72
+ const setAdminAction = useSetAdminAction({ targetParticipant });
73
+ controlListResult.push(setAdminAction);
74
+ }
75
+ if (canRevokeAdmin.value) {
76
+ const revokeAdminAction = useRevokeAdminAction({ targetParticipant });
77
+ controlListResult.push(revokeAdminAction);
78
+ }
79
+ if (canOperate.value || isTargetParticipantLocal.value) {
80
+ controlListResult.push(nameCardAction);
81
+ }
82
+ if (canOperate.value && !isTargetParticipantLocal.value) {
83
+ controlListResult.push(messageAction);
84
+ }
85
+ if (canKick.value) {
86
+ controlListResult.push(kickAction);
87
+ }
88
+ return controlListResult;
89
+ });
90
+
91
+ return {
92
+ controlList,
93
+ };
94
+ }
@@ -0,0 +1,56 @@
1
+ import type { Component } from 'vue';
2
+ import { computed } from 'vue';
3
+ import { TUIToast, TOAST_TYPE, IconSetAdmin, IconRevokeAdmin, useUIKit } from '@tencentcloud/uikit-base-component-vue3';
4
+ import { useRoomParticipantState } from '../../../states/RoomParticipantState';
5
+ import type { RoomParticipant } from '../../../types';
6
+
7
+ const { t } = useUIKit();
8
+ const { setAdmin, revokeAdmin } = useRoomParticipantState();
9
+
10
+ export function useSetAdminAction(
11
+ { targetParticipant }: { targetParticipant: RoomParticipant },
12
+ ): {
13
+ key: string;
14
+ icon: Component;
15
+ label: string;
16
+ handler: () => void;
17
+ } {
18
+ const displayName = computed(() => targetParticipant.nameCard || targetParticipant.userName || targetParticipant.userId);
19
+
20
+ return {
21
+ key: 'setAdmin',
22
+ icon: IconSetAdmin,
23
+ label: t('ParticipantList.SetAdmin'),
24
+ handler: () => {
25
+ setAdmin({ userId: targetParticipant.userId });
26
+ TUIToast({
27
+ type: TOAST_TYPE.SUCCESS,
28
+ message: t('ParticipantList.SetAdminSuccess', { name: displayName.value }),
29
+ });
30
+ },
31
+ };
32
+ }
33
+
34
+ export function useRevokeAdminAction(
35
+ { targetParticipant }: { targetParticipant: RoomParticipant },
36
+ ): {
37
+ key: string;
38
+ icon: Component;
39
+ label: string;
40
+ handler: () => void;
41
+ } {
42
+ const displayName = computed(() => targetParticipant.nameCard || targetParticipant.userName || targetParticipant.userId);
43
+
44
+ return {
45
+ key: 'revokeAdmin',
46
+ icon: IconRevokeAdmin,
47
+ label: t('ParticipantList.RemoveAdmin'),
48
+ handler: () => {
49
+ revokeAdmin({ userId: targetParticipant.userId });
50
+ TUIToast({
51
+ type: TOAST_TYPE.SUCCESS,
52
+ message: t('ParticipantList.RemoveAdminSuccess', { name: displayName.value }),
53
+ });
54
+ },
55
+ };
56
+ }
@@ -0,0 +1,66 @@
1
+ import type { Component } from 'vue';
2
+ import { computed } from 'vue';
3
+ import {
4
+ IconAudioOpen,
5
+ IconAudioClose,
6
+ TUIToast,
7
+ useUIKit,
8
+ } from '@tencentcloud/uikit-base-component-vue3';
9
+ import { useRoomParticipantState } from '../../../states/RoomParticipantState';
10
+ import { DeviceType } from '../../../types';
11
+ import type { RoomParticipant } from '../../../types';
12
+
13
+ const { t } = useUIKit();
14
+
15
+ export function useMuteAudioAction(
16
+ { targetParticipant }: { targetParticipant: RoomParticipant },
17
+ ): {
18
+ key: string;
19
+ icon: Component;
20
+ label: string;
21
+ handler: () => void;
22
+ } {
23
+ const { closeParticipantDevice } = useRoomParticipantState();
24
+ async function muteUserAudio() {
25
+ await closeParticipantDevice({
26
+ userId: targetParticipant.userId,
27
+ deviceType: DeviceType.Microphone,
28
+ });
29
+ }
30
+ return {
31
+ key: 'muteAudio',
32
+ icon: IconAudioOpen,
33
+ label: t('ParticipantList.Mute'),
34
+ handler: muteUserAudio,
35
+ };
36
+ }
37
+
38
+ export function useUnmuteAudioAction(
39
+ { targetParticipant }: { targetParticipant: RoomParticipant },
40
+ ): {
41
+ key: string;
42
+ icon: Component;
43
+ label: string;
44
+ handler: () => void;
45
+ } {
46
+ const { inviteToOpenDevice } = useRoomParticipantState();
47
+ const displayName = computed(() => targetParticipant.nameCard || targetParticipant.userName || targetParticipant.userId);
48
+
49
+ async function unmuteUserAudio() {
50
+ await inviteToOpenDevice({
51
+ userId: targetParticipant.userId,
52
+ device: DeviceType.Microphone,
53
+ timeout: 30,
54
+ });
55
+ TUIToast.info({
56
+ message: `${t('ParticipantList.InviteMicSent', { name: displayName.value })}`,
57
+ });
58
+ }
59
+
60
+ return {
61
+ key: 'unmuteAudio',
62
+ icon: IconAudioClose,
63
+ label: t('ParticipantList.Unmute'),
64
+ handler: unmuteUserAudio,
65
+ };
66
+ }
@@ -0,0 +1,46 @@
1
+ import type { Component } from 'vue';
2
+ import { reactive, markRaw, computed } from 'vue';
3
+ import { useUIKit, IconKickOut, TUIMessageBox } from '@tencentcloud/uikit-base-component-vue3';
4
+ import { useRoomParticipantState } from '../../../states/RoomParticipantState';
5
+ import type { RoomParticipant } from '../../../types';
6
+
7
+ const { t } = useUIKit();
8
+ const { kickParticipant } = useRoomParticipantState();
9
+ export function useKickAction(
10
+ { targetParticipant }: { targetParticipant: RoomParticipant },
11
+ ): {
12
+ key: string;
13
+ icon: Component;
14
+ label: string;
15
+ handler: () => void;
16
+ } {
17
+ const displayName = computed(() => targetParticipant.nameCard || targetParticipant.userName || targetParticipant.userId);
18
+
19
+ async function kickUserFunc() {
20
+ TUIMessageBox.confirm({
21
+ title: t('ParticipantList.Note'),
22
+ content: t('ParticipantList.ConfirmKick', {
23
+ name: displayName.value,
24
+ }),
25
+ confirmText: t('ParticipantList.Confirm'),
26
+ cancelText: t('ParticipantList.Cancel'),
27
+ callback: async (action) => {
28
+ if (action === 'confirm') {
29
+ await kickParticipant({
30
+ userId: targetParticipant.userId,
31
+ });
32
+ }
33
+ },
34
+ });
35
+ }
36
+ const kickAction = reactive({
37
+ key: 'kick',
38
+ icon: markRaw(IconKickOut),
39
+ label: t('ParticipantList.KickOut'),
40
+ style: {
41
+ color: '#FF0000',
42
+ },
43
+ handler: kickUserFunc,
44
+ });
45
+ return kickAction;
46
+ }
@@ -0,0 +1,42 @@
1
+ import type { Component } from 'vue';
2
+ import { computed, reactive, markRaw } from 'vue';
3
+ import { TUIToast, TOAST_TYPE, IconChatForbidden, useUIKit } from '@tencentcloud/uikit-base-component-vue3';
4
+ import { useRoomParticipantState } from '../../../states/RoomParticipantState';
5
+ import type { RoomParticipant } from '../../../types';
6
+
7
+ const { t } = useUIKit();
8
+ const { muteParticipantMessage } = useRoomParticipantState();
9
+ export function useMessageAction(
10
+ { targetParticipant }: { targetParticipant: RoomParticipant },
11
+ ): {
12
+ key: string;
13
+ icon: Component;
14
+ label: string;
15
+ handler: () => void;
16
+ } {
17
+ async function disableUserChat() {
18
+ const { isMessageDisabled } = targetParticipant;
19
+ try {
20
+ await muteParticipantMessage({
21
+ userId: targetParticipant.userId,
22
+ mute: !isMessageDisabled,
23
+ });
24
+ } catch (error: any) {
25
+ TUIToast({
26
+ type: TOAST_TYPE.ERROR,
27
+ message: t('ParticipantList.DisableChatFailed'),
28
+ });
29
+ }
30
+ }
31
+
32
+ const chatControl = reactive({
33
+ key: 'chatAction',
34
+ icon: markRaw(IconChatForbidden),
35
+ label: computed(() =>
36
+ targetParticipant.isMessageDisabled ? t('ParticipantList.EnableChat') : t('ParticipantList.DisableChat'),
37
+ ),
38
+ handler: disableUserChat,
39
+ });
40
+
41
+ return chatControl;
42
+ }
@@ -0,0 +1,51 @@
1
+ <template>
2
+ <TUIDialog
3
+ :visible="isShowDialog"
4
+ :title="t('ParticipantList.ChangeName')"
5
+ :confirmDisabled="isConfirmButtonDisable"
6
+ :cancel-text="t('ParticipantList.Cancel')"
7
+ :confirm-text="t('ParticipantList.Confirm')"
8
+ @confirm="handleConfirm"
9
+ @cancel="handleCancel"
10
+ @close="handleCancel"
11
+ >
12
+ <TUIInput
13
+ :model-value="inputUserName"
14
+ class="dialog-input"
15
+ :placeholder="t('ParticipantList.InputUserName')"
16
+ @input="inputUserName = $event"
17
+ />
18
+ </TUIDialog>
19
+ </template>
20
+
21
+ <script setup lang="ts">
22
+ import { ref, defineProps, computed } from 'vue';
23
+ import { TUIDialog, TUIInput, useUIKit } from '@tencentcloud/uikit-base-component-vue3';
24
+ import type { RoomParticipant } from '../../../../types';
25
+
26
+ interface Props {
27
+ userInfo: RoomParticipant;
28
+ confirmFunction: (name: string) => void;
29
+ }
30
+
31
+ const props = defineProps<Props>();
32
+ const { t } = useUIKit();
33
+
34
+ const inputUserName = ref(props.userInfo.nameCard || props.userInfo.userName || '');
35
+ const isShowDialog = ref(true);
36
+ const isConfirmButtonDisable = computed(() => !inputUserName.value.trim());
37
+
38
+ async function handleConfirm() {
39
+ await props.confirmFunction(inputUserName.value);
40
+ isShowDialog.value = false;
41
+ }
42
+
43
+ function handleCancel() {
44
+ inputUserName.value
45
+ = props.userInfo.nameCard || props.userInfo.userName || '';
46
+ isShowDialog.value = false;
47
+ }
48
+ </script>
49
+
50
+ <style lang="scss" scoped>
51
+ </style>