@tencentcloud/roomkit-electron-vue3 2.4.2 → 2.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 (430) hide show
  1. package/es/components/Chat/ChatEditor/useChatEditor.mjs +1 -1
  2. package/es/components/Chat/MessageList/index.vue.mjs +1 -1
  3. package/es/components/Chat/MessageList/index.vue2.mjs +5 -1
  4. package/es/components/Chat/MessageList/useMessageListHook.mjs +4 -3
  5. package/es/components/ManageMember/MemberControl/index.vue.mjs +1 -1
  6. package/es/components/ManageMember/MemberControl/index.vue2.mjs +36 -19
  7. package/es/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +6 -1
  8. package/es/components/ManageMember/MemberControl/useMemberControlHooks.mjs +113 -17
  9. package/es/components/ManageMember/MemberItem/useMemberItemHooks.d.ts +1 -0
  10. package/es/components/ManageMember/MemberItem/useMemberItemHooks.mjs +8 -6
  11. package/es/components/ManageMember/MemberItemCommon/MemberInfo.vue.mjs +1 -1
  12. package/es/components/ManageMember/MemberItemCommon/MemberInfo.vue2.mjs +7 -3
  13. package/es/components/ManageMember/index.vue.mjs +1 -1
  14. package/es/components/ManageMember/index.vue2.mjs +58 -7
  15. package/es/components/ManageMember/useIndexHooks.mjs +63 -14
  16. package/es/components/RoomContent/StreamContainer/index.vue.mjs +1 -1
  17. package/es/components/RoomContent/StreamContainer/index.vue2.mjs +10 -9
  18. package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +8 -0
  19. package/es/components/RoomContent/StreamContainer/useStreamContainerHooks.mjs +73 -29
  20. package/es/components/RoomContent/StreamRegion/index.vue.d.ts +5 -1
  21. package/es/components/RoomContent/StreamRegion/index.vue.mjs +1 -1
  22. package/es/components/RoomContent/StreamRegion/index.vue2.mjs +29 -5
  23. package/es/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue.mjs +1 -1
  24. package/es/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.mjs +10 -4
  25. package/es/components/RoomFooter/ApplyControl/MemberApplyControl.vue2.mjs +2 -2
  26. package/es/components/RoomFooter/AudioControl.vue2.mjs +2 -2
  27. package/es/components/RoomFooter/EndControl/index.vue.mjs +1 -1
  28. package/es/components/RoomFooter/EndControl/index.vue2.mjs +1 -1
  29. package/es/components/RoomFooter/EndControl/useEndControlHooks.mjs +16 -4
  30. package/es/components/RoomFooter/ScreenShareControl/Index.vue.mjs +1 -1
  31. package/es/components/RoomFooter/ScreenShareControl/Index.vue2.mjs +11 -3
  32. package/es/components/RoomFooter/VideoControl.vue.mjs +1 -1
  33. package/es/components/RoomFooter/VideoControl.vue2.mjs +8 -14
  34. package/es/components/RoomHeader/RoomInfo/index.vue2.mjs +2 -2
  35. package/es/components/RoomHeader/UserInfo/index.vue.d.ts +3 -11
  36. package/es/components/RoomHeader/UserInfo/index.vue.mjs +1 -1
  37. package/es/components/RoomHeader/UserInfo/index.vue2.mjs +9 -92
  38. package/es/components/RoomHeader/UserInfo/useUserInfoHooks.d.ts +2 -8
  39. package/es/components/RoomHeader/UserInfo/useUserInfoHooks.mjs +1 -18
  40. package/es/components/RoomHeader/index/NetworkInfo.vue2.mjs +2 -2
  41. package/es/components/RoomHome/RoomControl/index.vue.d.ts +10 -0
  42. package/es/components/RoomHome/RoomControl/index.vue.mjs +1 -1
  43. package/es/components/RoomHome/RoomControl/index.vue2.mjs +153 -120
  44. package/es/components/RoomInvite/index.vue2.mjs +2 -2
  45. package/es/components/RoomMore/index.vue2.mjs +2 -2
  46. package/es/components/RoomSidebar/useSideBarHooks.mjs +3 -2
  47. package/es/components/ScheduleConference/Contacts.vue.d.ts +22 -0
  48. package/es/components/ScheduleConference/Contacts.vue.mjs +7 -0
  49. package/es/components/ScheduleConference/Contacts.vue2.mjs +212 -0
  50. package/es/components/ScheduleConference/DurationTimePicker.vue.d.ts +18 -0
  51. package/es/components/ScheduleConference/DurationTimePicker.vue.mjs +67 -0
  52. package/es/components/ScheduleConference/DurationTimePicker.vue2.mjs +4 -0
  53. package/es/components/ScheduleConference/ScheduleConferencePanel.vue.d.ts +22 -0
  54. package/es/components/ScheduleConference/ScheduleConferencePanel.vue.mjs +7 -0
  55. package/es/components/ScheduleConference/ScheduleConferencePanel.vue2.mjs +613 -0
  56. package/es/components/ScheduleConference/ScheduleConferencePanel.vue3.mjs +1 -0
  57. package/es/components/ScheduleConference/ScheduleRoomControl.vue.d.ts +29 -0
  58. package/es/components/ScheduleConference/ScheduleRoomControl.vue.mjs +7 -0
  59. package/es/components/ScheduleConference/ScheduleRoomControl.vue2.mjs +464 -0
  60. package/es/components/ScheduleConference/ScheduleRoomControl.vue3.mjs +1 -0
  61. package/es/components/{common/base/Input.vue.d.ts → ScheduleConference/ScheduleRoomList.vue.d.ts} +11 -22
  62. package/es/components/ScheduleConference/ScheduleRoomList.vue.mjs +7 -0
  63. package/es/components/ScheduleConference/ScheduleRoomList.vue2.mjs +219 -0
  64. package/es/components/ScheduleConference/ScheduleRoomList.vue3.mjs +1 -0
  65. package/es/components/ScheduleConference/ShareLink.vue.d.ts +24 -0
  66. package/es/components/ScheduleConference/ShareLink.vue.mjs +7 -0
  67. package/es/components/ScheduleConference/ShareLink.vue2.mjs +113 -0
  68. package/es/components/ScheduleConference/ShareLink.vue3.mjs +1 -0
  69. package/es/components/ScheduleConference/TimezonePicker.vue.d.ts +18 -0
  70. package/es/components/ScheduleConference/TimezonePicker.vue.mjs +84 -0
  71. package/es/components/ScheduleConference/TimezonePicker.vue2.mjs +4 -0
  72. package/es/components/common/Avatar.vue.mjs +2 -2
  73. package/es/components/common/DeviceSelect.vue.mjs +1 -1
  74. package/es/components/common/DeviceSelect.vue2.mjs +58 -19
  75. package/es/components/common/Logo.vue.mjs +1 -1
  76. package/es/components/common/Logo.vue2.mjs +3 -3
  77. package/es/components/common/VideoProfile.vue2.mjs +2 -2
  78. package/es/components/common/base/Badge.vue.d.ts +1 -1
  79. package/es/components/common/base/Button.vue.d.ts +2 -2
  80. package/es/components/common/base/Checkbox.vue.d.ts +4 -2
  81. package/es/components/common/base/Checkbox.vue.mjs +2 -2
  82. package/es/components/common/base/Checkbox.vue2.mjs +12 -5
  83. package/es/components/common/base/Datepicker/Datepicker.vue.d.ts +18 -0
  84. package/es/components/common/base/Datepicker/Datepicker.vue.mjs +7 -0
  85. package/es/components/common/base/Datepicker/Datepicker.vue2.mjs +167 -0
  86. package/es/components/common/base/Datepicker/Datepicker.vue3.mjs +1 -0
  87. package/es/components/common/base/Datepicker/Timepicker.vue.d.ts +18 -0
  88. package/es/components/common/base/Datepicker/Timepicker.vue.mjs +66 -0
  89. package/es/components/common/base/Datepicker/Timepicker.vue2.mjs +4 -0
  90. package/es/components/common/base/Dialog/index.vue.d.ts +8 -4
  91. package/es/components/common/base/Dialog/index.vue.mjs +1 -1
  92. package/es/components/common/base/Dialog/index.vue2.mjs +17 -9
  93. package/es/components/common/base/Drawer.vue.d.ts +1 -1
  94. package/es/components/common/base/IconButton.vue.d.ts +2 -2
  95. package/es/components/common/base/Input/index.vue.d.ts +77 -0
  96. package/es/components/common/base/Input/index.vue.mjs +7 -0
  97. package/es/components/common/base/Input/index.vue2.mjs +140 -0
  98. package/es/components/common/base/Input/index.vue3.mjs +1 -0
  99. package/es/components/common/base/Message/Instance.mjs +1 -1
  100. package/es/components/common/base/Message/Message.vue.d.ts +4 -4
  101. package/es/components/common/base/MessageBox/index.d.ts +3 -2
  102. package/es/components/common/base/MessageBox/index.mjs +2 -1
  103. package/es/components/common/base/MessageBox/index.vue.d.ts +6 -1
  104. package/es/components/common/base/MessageBox/index.vue.mjs +1 -1
  105. package/es/components/common/base/MessageBox/index.vue2.mjs +60 -10
  106. package/es/components/common/base/Notification/index.vue.d.ts +2 -2
  107. package/es/components/common/base/Option.vue.d.ts +11 -1
  108. package/es/components/common/base/Option.vue.mjs +1 -1
  109. package/es/components/common/base/Option.vue2.mjs +16 -6
  110. package/es/components/common/base/Select.vue.d.ts +5 -1
  111. package/es/components/common/base/Select.vue.mjs +1 -1
  112. package/es/components/common/base/Select.vue2.mjs +12 -11
  113. package/es/components/common/base/index.d.ts +1 -1
  114. package/es/components/common/icons/AllMembersShareScreenIcon.vue.d.ts +2 -0
  115. package/es/components/common/icons/AllMembersShareScreenIcon.vue.mjs +22 -0
  116. package/es/components/common/icons/CalendarIcon.vue.d.ts +2 -0
  117. package/es/components/common/icons/CalendarIcon.vue.mjs +24 -0
  118. package/es/components/common/icons/CopyIcon.vue.mjs +2 -2
  119. package/es/components/common/icons/EditNameCardIcon.vue.d.ts +2 -0
  120. package/es/components/common/icons/EditNameCardIcon.vue.mjs +21 -0
  121. package/es/components/common/icons/EllipsisIcon.vue.d.ts +2 -0
  122. package/es/components/common/icons/EllipsisIcon.vue.mjs +34 -0
  123. package/es/components/common/icons/HostShareScreenIcon.vue.d.ts +2 -0
  124. package/es/components/common/icons/HostShareScreenIcon.vue.mjs +22 -0
  125. package/es/components/common/icons/LinkIcon.vue.d.ts +2 -0
  126. package/es/components/common/icons/LinkIcon.vue.mjs +36 -0
  127. package/es/components/common/icons/LoadingScheduleIcon.vue.d.ts +2 -0
  128. package/es/components/common/icons/LoadingScheduleIcon.vue.mjs +24 -0
  129. package/es/components/common/icons/ScheduleAttendees.vue.d.ts +6 -0
  130. package/es/components/common/icons/ScheduleAttendees.vue.mjs +25 -0
  131. package/es/components/common/icons/ScheduleAttendees.vue2.mjs +4 -0
  132. package/es/components/common/icons/ScheduleRoomIcon.vue.d.ts +2 -0
  133. package/es/components/common/icons/ScheduleRoomIcon.vue.mjs +24 -0
  134. package/es/components/common/icons/SuccessIcon.vue.d.ts +2 -0
  135. package/es/components/common/icons/SuccessIcon.vue.mjs +32 -0
  136. package/es/components/common/icons/WarningIcon.vue.d.ts +2 -0
  137. package/es/components/common/icons/WarningIcon.vue.mjs +29 -0
  138. package/es/conference.d.ts +2 -0
  139. package/es/conference.mjs +3 -0
  140. package/es/conference.vue.mjs +1 -1
  141. package/es/conference.vue2.mjs +9 -4
  142. package/es/directives/vDblTouch.d.ts +10 -0
  143. package/es/directives/vTap.d.ts +1 -0
  144. package/es/directives/vTap.mjs +30 -3
  145. package/es/extension/chatExtension.mjs +3 -3
  146. package/es/hooks/useDeviceManager.mjs +3 -3
  147. package/es/hooks/useMasterApplyControl.mjs +5 -5
  148. package/es/hooks/useRoomEngine.mjs +4 -4
  149. package/es/index.d.ts +1 -0
  150. package/es/index.mjs +2383 -1545
  151. package/es/locales/en-US.d.ts +75 -0
  152. package/es/locales/en-US.mjs +78 -1
  153. package/es/locales/zh-CN.d.ts +79 -0
  154. package/es/locales/zh-CN.mjs +83 -2
  155. package/es/preConference.vue.d.ts +10 -0
  156. package/es/preConference.vue.mjs +1 -1
  157. package/es/preConference.vue2.mjs +89 -13
  158. package/es/services/function/errorHandler.d.ts +10 -0
  159. package/es/services/function/errorHandler.mjs +158 -0
  160. package/es/services/function/virtualBackground.mjs +4 -3
  161. package/es/services/index.d.ts +1 -0
  162. package/es/services/manager/roomActionManager.d.ts +1 -0
  163. package/es/services/manager/roomActionManager.mjs +10 -18
  164. package/es/services/manager/scheduleConferenceManager.d.ts +113 -0
  165. package/es/services/manager/scheduleConferenceManager.mjs +141 -0
  166. package/es/services/manager/userManager.d.ts +2 -0
  167. package/es/services/manager/userManager.mjs +7 -3
  168. package/es/services/roomService.d.ts +8 -0
  169. package/es/services/roomService.mjs +42 -16
  170. package/es/services/types.d.ts +8 -0
  171. package/es/services/types.mjs +2 -0
  172. package/es/stores/basic.mjs +9 -3
  173. package/es/stores/room.d.ts +2 -0
  174. package/es/stores/room.mjs +55 -24
  175. package/es/utils/adapter.mjs +39 -3
  176. package/es/utils/utils.d.ts +3 -0
  177. package/es/utils/utils.mjs +64 -0
  178. package/lib/components/Chat/ChatEditor/useChatEditor.js +1 -1
  179. package/lib/components/Chat/MessageList/index.vue.js +1 -1
  180. package/lib/components/Chat/MessageList/index.vue2.js +5 -1
  181. package/lib/components/Chat/MessageList/useMessageListHook.js +2 -1
  182. package/lib/components/ManageMember/MemberControl/index.vue.js +1 -1
  183. package/lib/components/ManageMember/MemberControl/index.vue2.js +35 -18
  184. package/lib/components/ManageMember/MemberControl/useMemberControlHooks.d.ts +6 -1
  185. package/lib/components/ManageMember/MemberControl/useMemberControlHooks.js +113 -17
  186. package/lib/components/ManageMember/MemberItem/useMemberItemHooks.d.ts +1 -0
  187. package/lib/components/ManageMember/MemberItem/useMemberItemHooks.js +8 -6
  188. package/lib/components/ManageMember/MemberItemCommon/MemberInfo.vue.js +1 -1
  189. package/lib/components/ManageMember/MemberItemCommon/MemberInfo.vue2.js +5 -1
  190. package/lib/components/ManageMember/index.vue.js +1 -1
  191. package/lib/components/ManageMember/index.vue2.js +57 -6
  192. package/lib/components/ManageMember/useIndexHooks.js +63 -14
  193. package/lib/components/RoomContent/StreamContainer/index.vue.js +1 -1
  194. package/lib/components/RoomContent/StreamContainer/index.vue2.js +10 -9
  195. package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.d.ts +8 -0
  196. package/lib/components/RoomContent/StreamContainer/useStreamContainerHooks.js +72 -28
  197. package/lib/components/RoomContent/StreamRegion/index.vue.d.ts +5 -1
  198. package/lib/components/RoomContent/StreamRegion/index.vue.js +1 -1
  199. package/lib/components/RoomContent/StreamRegion/index.vue2.js +27 -3
  200. package/lib/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue.js +1 -1
  201. package/lib/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue2.js +8 -2
  202. package/lib/components/RoomFooter/EndControl/index.vue.js +1 -1
  203. package/lib/components/RoomFooter/EndControl/index.vue2.js +1 -1
  204. package/lib/components/RoomFooter/EndControl/useEndControlHooks.js +14 -2
  205. package/lib/components/RoomFooter/ScreenShareControl/Index.vue.js +1 -1
  206. package/lib/components/RoomFooter/ScreenShareControl/Index.vue2.js +9 -1
  207. package/lib/components/RoomFooter/VideoControl.vue.js +1 -1
  208. package/lib/components/RoomFooter/VideoControl.vue2.js +6 -12
  209. package/lib/components/RoomHeader/UserInfo/index.vue.d.ts +3 -11
  210. package/lib/components/RoomHeader/UserInfo/index.vue.js +1 -1
  211. package/lib/components/RoomHeader/UserInfo/index.vue2.js +6 -89
  212. package/lib/components/RoomHeader/UserInfo/useUserInfoHooks.d.ts +2 -8
  213. package/lib/components/RoomHeader/UserInfo/useUserInfoHooks.js +1 -18
  214. package/lib/components/RoomHome/RoomControl/index.vue.d.ts +10 -0
  215. package/lib/components/RoomHome/RoomControl/index.vue.js +1 -1
  216. package/lib/components/RoomHome/RoomControl/index.vue2.js +150 -117
  217. package/lib/components/RoomSidebar/useSideBarHooks.js +3 -2
  218. package/lib/components/ScheduleConference/Contacts.vue.d.ts +22 -0
  219. package/lib/components/ScheduleConference/Contacts.vue.js +7 -0
  220. package/lib/components/ScheduleConference/Contacts.vue2.js +212 -0
  221. package/lib/components/ScheduleConference/DurationTimePicker.vue.d.ts +18 -0
  222. package/lib/components/ScheduleConference/DurationTimePicker.vue.js +67 -0
  223. package/lib/components/ScheduleConference/DurationTimePicker.vue2.js +4 -0
  224. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue.d.ts +22 -0
  225. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue.js +7 -0
  226. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue2.js +613 -0
  227. package/lib/components/ScheduleConference/ScheduleConferencePanel.vue3.js +1 -0
  228. package/lib/components/ScheduleConference/ScheduleRoomControl.vue.d.ts +29 -0
  229. package/lib/components/ScheduleConference/ScheduleRoomControl.vue.js +7 -0
  230. package/lib/components/ScheduleConference/ScheduleRoomControl.vue2.js +464 -0
  231. package/lib/components/ScheduleConference/ScheduleRoomControl.vue3.js +1 -0
  232. package/lib/components/{common/base/Input.vue.d.ts → ScheduleConference/ScheduleRoomList.vue.d.ts} +11 -22
  233. package/lib/components/ScheduleConference/ScheduleRoomList.vue.js +7 -0
  234. package/lib/components/ScheduleConference/ScheduleRoomList.vue2.js +219 -0
  235. package/lib/components/ScheduleConference/ScheduleRoomList.vue3.js +1 -0
  236. package/lib/components/ScheduleConference/ShareLink.vue.d.ts +24 -0
  237. package/lib/components/ScheduleConference/ShareLink.vue.js +7 -0
  238. package/lib/components/ScheduleConference/ShareLink.vue2.js +113 -0
  239. package/lib/components/ScheduleConference/ShareLink.vue3.js +1 -0
  240. package/lib/components/ScheduleConference/TimezonePicker.vue.d.ts +18 -0
  241. package/lib/components/ScheduleConference/TimezonePicker.vue.js +84 -0
  242. package/lib/components/ScheduleConference/TimezonePicker.vue2.js +4 -0
  243. package/lib/components/common/Avatar.vue.js +2 -2
  244. package/lib/components/common/DeviceSelect.vue.js +1 -1
  245. package/lib/components/common/DeviceSelect.vue2.js +57 -18
  246. package/lib/components/common/Logo.vue.js +1 -1
  247. package/lib/components/common/Logo.vue2.js +2 -2
  248. package/lib/components/common/base/Badge.vue.d.ts +1 -1
  249. package/lib/components/common/base/Button.vue.d.ts +2 -2
  250. package/lib/components/common/base/Checkbox.vue.d.ts +4 -2
  251. package/lib/components/common/base/Checkbox.vue.js +2 -2
  252. package/lib/components/common/base/Checkbox.vue2.js +11 -4
  253. package/lib/components/common/base/Datepicker/Datepicker.vue.d.ts +18 -0
  254. package/lib/components/common/base/Datepicker/Datepicker.vue.js +7 -0
  255. package/lib/components/common/base/Datepicker/Datepicker.vue2.js +167 -0
  256. package/lib/components/common/base/Datepicker/Datepicker.vue3.js +1 -0
  257. package/lib/components/common/base/Datepicker/Timepicker.vue.d.ts +18 -0
  258. package/lib/components/common/base/Datepicker/Timepicker.vue.js +66 -0
  259. package/lib/components/common/base/Datepicker/Timepicker.vue2.js +4 -0
  260. package/lib/components/common/base/Dialog/index.vue.d.ts +8 -4
  261. package/lib/components/common/base/Dialog/index.vue.js +1 -1
  262. package/lib/components/common/base/Dialog/index.vue2.js +16 -8
  263. package/lib/components/common/base/Drawer.vue.d.ts +1 -1
  264. package/lib/components/common/base/IconButton.vue.d.ts +2 -2
  265. package/lib/components/common/base/Input/index.vue.d.ts +77 -0
  266. package/lib/components/common/base/Input/index.vue.js +7 -0
  267. package/lib/components/common/base/Input/index.vue2.js +140 -0
  268. package/lib/components/common/base/Input/index.vue3.js +1 -0
  269. package/lib/components/common/base/Message/Instance.js +1 -1
  270. package/lib/components/common/base/Message/Message.vue.d.ts +4 -4
  271. package/lib/components/common/base/MessageBox/index.d.ts +3 -2
  272. package/lib/components/common/base/MessageBox/index.js +2 -1
  273. package/lib/components/common/base/MessageBox/index.vue.d.ts +6 -1
  274. package/lib/components/common/base/MessageBox/index.vue.js +1 -1
  275. package/lib/components/common/base/MessageBox/index.vue2.js +59 -9
  276. package/lib/components/common/base/Notification/index.vue.d.ts +2 -2
  277. package/lib/components/common/base/Option.vue.d.ts +11 -1
  278. package/lib/components/common/base/Option.vue.js +1 -1
  279. package/lib/components/common/base/Option.vue2.js +15 -5
  280. package/lib/components/common/base/Select.vue.d.ts +5 -1
  281. package/lib/components/common/base/Select.vue.js +1 -1
  282. package/lib/components/common/base/Select.vue2.js +11 -10
  283. package/lib/components/common/base/index.d.ts +1 -1
  284. package/lib/components/common/icons/AllMembersShareScreenIcon.vue.d.ts +2 -0
  285. package/lib/components/common/icons/AllMembersShareScreenIcon.vue.js +22 -0
  286. package/lib/components/common/icons/CalendarIcon.vue.d.ts +2 -0
  287. package/lib/components/common/icons/CalendarIcon.vue.js +24 -0
  288. package/lib/components/common/icons/CopyIcon.vue.js +2 -2
  289. package/lib/components/common/icons/EditNameCardIcon.vue.d.ts +2 -0
  290. package/lib/components/common/icons/EditNameCardIcon.vue.js +21 -0
  291. package/lib/components/common/icons/EllipsisIcon.vue.d.ts +2 -0
  292. package/lib/components/common/icons/EllipsisIcon.vue.js +34 -0
  293. package/lib/components/common/icons/HostShareScreenIcon.vue.d.ts +2 -0
  294. package/lib/components/common/icons/HostShareScreenIcon.vue.js +22 -0
  295. package/lib/components/common/icons/LinkIcon.vue.d.ts +2 -0
  296. package/lib/components/common/icons/LinkIcon.vue.js +36 -0
  297. package/lib/components/common/icons/LoadingScheduleIcon.vue.d.ts +2 -0
  298. package/lib/components/common/icons/LoadingScheduleIcon.vue.js +24 -0
  299. package/lib/components/common/icons/ScheduleAttendees.vue.d.ts +6 -0
  300. package/lib/components/common/icons/ScheduleAttendees.vue.js +25 -0
  301. package/lib/components/common/icons/ScheduleAttendees.vue2.js +4 -0
  302. package/lib/components/common/icons/ScheduleRoomIcon.vue.d.ts +2 -0
  303. package/lib/components/common/icons/ScheduleRoomIcon.vue.js +24 -0
  304. package/lib/components/common/icons/SuccessIcon.vue.d.ts +2 -0
  305. package/lib/components/common/icons/SuccessIcon.vue.js +32 -0
  306. package/lib/components/common/icons/WarningIcon.vue.d.ts +2 -0
  307. package/lib/components/common/icons/WarningIcon.vue.js +29 -0
  308. package/lib/conference.d.ts +2 -0
  309. package/lib/conference.js +3 -0
  310. package/lib/conference.vue.js +1 -1
  311. package/lib/conference.vue2.js +9 -4
  312. package/lib/directives/vDblTouch.d.ts +10 -0
  313. package/lib/directives/vTap.d.ts +1 -0
  314. package/lib/directives/vTap.js +30 -3
  315. package/lib/extension/chatExtension.js +1 -1
  316. package/lib/hooks/useMasterApplyControl.js +3 -3
  317. package/lib/index.d.ts +1 -0
  318. package/lib/index.js +2390 -1546
  319. package/lib/locales/en-US.d.ts +75 -0
  320. package/lib/locales/en-US.js +78 -1
  321. package/lib/locales/zh-CN.d.ts +79 -0
  322. package/lib/locales/zh-CN.js +83 -2
  323. package/lib/preConference.vue.d.ts +10 -0
  324. package/lib/preConference.vue.js +1 -1
  325. package/lib/preConference.vue2.js +88 -12
  326. package/lib/services/function/errorHandler.d.ts +10 -0
  327. package/lib/services/function/errorHandler.js +158 -0
  328. package/lib/services/function/virtualBackground.js +3 -2
  329. package/lib/services/index.d.ts +1 -0
  330. package/lib/services/manager/roomActionManager.d.ts +1 -0
  331. package/lib/services/manager/roomActionManager.js +10 -18
  332. package/lib/services/manager/scheduleConferenceManager.d.ts +113 -0
  333. package/lib/services/manager/scheduleConferenceManager.js +147 -0
  334. package/lib/services/manager/userManager.d.ts +2 -0
  335. package/lib/services/manager/userManager.js +4 -0
  336. package/lib/services/roomService.d.ts +8 -0
  337. package/lib/services/roomService.js +38 -12
  338. package/lib/services/types.d.ts +8 -0
  339. package/lib/services/types.js +2 -0
  340. package/lib/stores/basic.js +8 -2
  341. package/lib/stores/room.d.ts +2 -0
  342. package/lib/stores/room.js +55 -24
  343. package/lib/utils/adapter.js +39 -3
  344. package/lib/utils/utils.d.ts +3 -0
  345. package/lib/utils/utils.js +64 -0
  346. package/package.json +2 -2
  347. package/src/TUIRoom/assets/style/black-theme.scss +3 -1
  348. package/src/TUIRoom/assets/style/white-theme.scss +3 -1
  349. package/src/TUIRoom/components/Chat/ChatEditor/useChatEditor.ts +1 -1
  350. package/src/TUIRoom/components/Chat/MessageList/index.vue +5 -1
  351. package/src/TUIRoom/components/Chat/MessageList/useMessageListHook.ts +2 -1
  352. package/src/TUIRoom/components/ManageMember/MemberControl/index.vue +23 -7
  353. package/src/TUIRoom/components/ManageMember/MemberControl/useMemberControlHooks.ts +110 -14
  354. package/src/TUIRoom/components/ManageMember/MemberItem/useMemberItemHooks.ts +9 -4
  355. package/src/TUIRoom/components/ManageMember/MemberItemCommon/MemberInfo.vue +2 -1
  356. package/src/TUIRoom/components/ManageMember/index.vue +85 -5
  357. package/src/TUIRoom/components/ManageMember/useIndexHooks.ts +58 -9
  358. package/src/TUIRoom/components/RoomContent/StreamContainer/index.vue +7 -6
  359. package/src/TUIRoom/components/RoomContent/StreamContainer/useStreamContainerHooks.ts +90 -26
  360. package/src/TUIRoom/components/RoomContent/StreamRegion/index.vue +27 -3
  361. package/src/TUIRoom/components/RoomFooter/ApplyControl/MasterApplyControl/index.vue +2 -1
  362. package/src/TUIRoom/components/RoomFooter/EndControl/index.vue +1 -1
  363. package/src/TUIRoom/components/RoomFooter/EndControl/useEndControlHooks.ts +10 -3
  364. package/src/TUIRoom/components/RoomFooter/ScreenShareControl/Index.vue +11 -1
  365. package/src/TUIRoom/components/RoomFooter/VideoControl.vue +0 -7
  366. package/src/TUIRoom/components/RoomHeader/UserInfo/index.vue +19 -50
  367. package/src/TUIRoom/components/RoomHeader/UserInfo/useUserInfoHooks.ts +1 -28
  368. package/src/TUIRoom/components/RoomHome/RoomControl/index.vue +91 -73
  369. package/src/TUIRoom/components/RoomSidebar/useSideBarHooks.ts +3 -2
  370. package/src/TUIRoom/components/ScheduleConference/Contacts.vue +265 -0
  371. package/src/TUIRoom/components/ScheduleConference/DurationTimePicker.vue +54 -0
  372. package/src/TUIRoom/components/ScheduleConference/ScheduleConferencePanel.vue +731 -0
  373. package/src/TUIRoom/components/ScheduleConference/ScheduleRoomControl.vue +577 -0
  374. package/src/TUIRoom/components/ScheduleConference/ScheduleRoomList.vue +295 -0
  375. package/src/TUIRoom/components/ScheduleConference/ShareLink.vue +122 -0
  376. package/src/TUIRoom/components/ScheduleConference/TimezonePicker.vue +70 -0
  377. package/src/TUIRoom/components/common/DeviceSelect.vue +62 -20
  378. package/src/TUIRoom/components/common/Logo.vue +3 -3
  379. package/src/TUIRoom/components/common/base/Checkbox.vue +19 -11
  380. package/src/TUIRoom/components/common/base/Datepicker/Datepicker.vue +252 -0
  381. package/src/TUIRoom/components/common/base/Datepicker/Timepicker.vue +54 -0
  382. package/src/TUIRoom/components/common/base/Dialog/index.vue +17 -7
  383. package/src/TUIRoom/components/common/base/Input/index.vue +187 -0
  384. package/src/TUIRoom/components/common/base/Message/Instance.ts +2 -1
  385. package/src/TUIRoom/components/common/base/MessageBox/index.ts +4 -2
  386. package/src/TUIRoom/components/common/base/MessageBox/index.vue +57 -26
  387. package/src/TUIRoom/components/common/base/Option.vue +14 -4
  388. package/src/TUIRoom/components/common/base/Select.vue +18 -13
  389. package/src/TUIRoom/components/common/base/index.ts +1 -1
  390. package/src/TUIRoom/components/common/icons/AllMembersShareScreenIcon.vue +15 -0
  391. package/src/TUIRoom/components/common/icons/ArrowStrokeRightIcon.vue +8 -0
  392. package/src/TUIRoom/components/common/icons/CalendarIcon.vue +6 -0
  393. package/src/TUIRoom/components/common/icons/EditNameCardIcon.vue +13 -0
  394. package/src/TUIRoom/components/common/icons/EllipsisIcon.vue +8 -0
  395. package/src/TUIRoom/components/common/icons/HostShareScreenIcon.vue +13 -0
  396. package/src/TUIRoom/components/common/icons/LinkIcon.vue +10 -0
  397. package/src/TUIRoom/components/common/icons/LoadingScheduleIcon.vue +6 -0
  398. package/src/TUIRoom/components/common/icons/ScheduleAttendees.vue +13 -0
  399. package/src/TUIRoom/components/common/icons/ScheduleRoomIcon.vue +6 -0
  400. package/src/TUIRoom/components/common/icons/SuccessIcon.vue +8 -0
  401. package/src/TUIRoom/components/common/icons/WarningIcon.vue +13 -0
  402. package/src/TUIRoom/conference.ts +6 -0
  403. package/src/TUIRoom/conference.vue +16 -5
  404. package/src/TUIRoom/directives/vDblTouch.ts +41 -0
  405. package/src/TUIRoom/directives/vTap.ts +32 -3
  406. package/src/TUIRoom/extension/chatExtension.ts +1 -1
  407. package/src/TUIRoom/hooks/useMasterApplyControl.ts +2 -2
  408. package/src/TUIRoom/index.ts +1 -0
  409. package/src/TUIRoom/locales/en-US.ts +77 -0
  410. package/src/TUIRoom/locales/zh-CN.ts +82 -1
  411. package/src/TUIRoom/preConference.vue +97 -2
  412. package/src/TUIRoom/services/function/errorHandler.ts +169 -0
  413. package/src/TUIRoom/services/function/virtualBackground.ts +3 -3
  414. package/src/TUIRoom/services/index.ts +1 -0
  415. package/src/TUIRoom/services/manager/roomActionManager.ts +10 -18
  416. package/src/TUIRoom/services/manager/scheduleConferenceManager.ts +263 -0
  417. package/src/TUIRoom/services/manager/userManager.ts +6 -0
  418. package/src/TUIRoom/services/roomService.ts +41 -13
  419. package/src/TUIRoom/services/types.ts +8 -1
  420. package/src/TUIRoom/stores/basic.ts +9 -2
  421. package/src/TUIRoom/stores/room.ts +60 -19
  422. package/src/TUIRoom/utils/adapter.ts +44 -4
  423. package/src/TUIRoom/utils/utils.ts +42 -0
  424. package/es/components/common/base/Input.vue.mjs +0 -7
  425. package/es/components/common/base/Input.vue2.mjs +0 -34
  426. package/lib/components/common/base/Input.vue.js +0 -7
  427. package/lib/components/common/base/Input.vue2.js +0 -34
  428. package/src/TUIRoom/components/common/base/Input.vue +0 -61
  429. /package/es/components/{common/base/Input.vue3.mjs → ScheduleConference/Contacts.vue3.mjs} +0 -0
  430. /package/lib/components/{common/base/Input.vue3.js → ScheduleConference/Contacts.vue3.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { defineComponent, openBlock, createElementBlock, createElementVNode, createVNode, withDirectives, isRef, unref, vModelText, withCtx, toDisplayString, normalizeClass, createCommentVNode, Fragment, renderList, createBlock, createTextVNode } from "vue";
1
+ import { defineComponent, openBlock, createElementBlock, createElementVNode, createVNode, withDirectives, isRef, unref, vModelText, withCtx, toDisplayString, normalizeClass, createCommentVNode, Fragment, renderList, createBlock, createTextVNode, vShow } from "vue";
2
2
  import { storeToRefs } from "pinia";
3
3
  import MemberItem from "./MemberItem/index.vue.mjs";
4
4
  import SvgIcon from "../common/base/SvgIcon.vue.mjs";
@@ -9,6 +9,8 @@ import Dialog from "../common/base/Dialog/index.vue.mjs";
9
9
  import { useRoomStore } from "../../stores/room.mjs";
10
10
  import useIndex from "./useIndexHooks.mjs";
11
11
  import TuiButton from "../common/base/Button.vue.mjs";
12
+ import ArrowUpIcon from "../common/icons/ArrowUpIcon.vue.mjs";
13
+ import vClickOutside from "../../directives/vClickOutside.mjs";
12
14
  const _hoisted_1 = { class: "manage-member-container" };
13
15
  const _hoisted_2 = { class: "manage-member-header" };
14
16
  const _hoisted_3 = { class: "search-container" };
@@ -27,14 +29,18 @@ const _hoisted_9 = {
27
29
  key: 2,
28
30
  class: "global-setting"
29
31
  };
32
+ const _hoisted_10 = { class: "more-container" };
33
+ const _hoisted_11 = {
34
+ class: /* @__PURE__ */ normalizeClass(["tui-theme-white", "drop-down"])
35
+ };
36
+ const _hoisted_12 = ["onClick"];
37
+ const _hoisted_13 = { class: "operate-text" };
30
38
  const _sfc_main = /* @__PURE__ */ defineComponent({
31
39
  __name: "index",
32
40
  setup(__props) {
33
41
  const roomStore = useRoomStore();
34
42
  const {
35
43
  applyToAnchorList,
36
- isMicrophoneDisableForAllUser,
37
- isCameraDisableForAllUser,
38
44
  isGeneralUser
39
45
  } = storeToRefs(roomStore);
40
46
  const {
@@ -53,8 +59,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
53
59
  filteredUserList,
54
60
  isOnStateTabActive,
55
61
  handleToggleStaged,
56
- applyToAnchorUserContent
62
+ applyToAnchorUserContent,
63
+ audioManageInfo,
64
+ videoManageInfo,
65
+ toggleClickMoreBtn,
66
+ showMoreControl,
67
+ moreControlList
57
68
  } = useIndex();
69
+ const handleShowMoreControl = () => {
70
+ if (showMoreControl.value) {
71
+ showMoreControl.value = false;
72
+ }
73
+ };
58
74
  return (_ctx, _cache) => {
59
75
  return openBlock(), createElementBlock("div", _hoisted_1, [
60
76
  createElementVNode("div", _hoisted_2, [
@@ -122,7 +138,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
122
138
  onClick: _cache[3] || (_cache[3] = ($event) => unref(toggleManageAllMember)(unref(ManageControlType).AUDIO))
123
139
  }, {
124
140
  default: withCtx(() => [
125
- createTextVNode(toDisplayString(unref(isMicrophoneDisableForAllUser) ? unref(t)("Enable all audios") : unref(t)("Disable all audios")), 1)
141
+ createTextVNode(toDisplayString(unref(audioManageInfo)), 1)
126
142
  ]),
127
143
  _: 1
128
144
  }),
@@ -132,10 +148,45 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
132
148
  onClick: _cache[4] || (_cache[4] = ($event) => unref(toggleManageAllMember)(unref(ManageControlType).VIDEO))
133
149
  }, {
134
150
  default: withCtx(() => [
135
- createTextVNode(toDisplayString(unref(isCameraDisableForAllUser) ? unref(t)("Enable all videos") : unref(t)("Disable all videos")), 1)
151
+ createTextVNode(toDisplayString(unref(videoManageInfo)), 1)
136
152
  ]),
137
153
  _: 1
138
- })
154
+ }),
155
+ withDirectives((openBlock(), createElementBlock("div", _hoisted_10, [
156
+ createVNode(TuiButton, {
157
+ class: "button",
158
+ size: "default",
159
+ onClick: unref(toggleClickMoreBtn)
160
+ }, {
161
+ default: withCtx(() => [
162
+ createTextVNode(toDisplayString(unref(t)("More")) + " ", 1),
163
+ createVNode(SvgIcon, {
164
+ size: "12",
165
+ class: normalizeClass(["more-arrow", unref(showMoreControl) ? "up" : "down"]),
166
+ icon: ArrowUpIcon
167
+ }, null, 8, ["class"])
168
+ ]),
169
+ _: 1
170
+ }, 8, ["onClick"]),
171
+ withDirectives(createElementVNode("div", _hoisted_11, [
172
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(moreControlList), (item) => {
173
+ return openBlock(), createElementBlock("div", {
174
+ key: item.type,
175
+ class: "user-operate-item",
176
+ onClick: ($event) => item.func(item.type)
177
+ }, [
178
+ createVNode(SvgIcon, {
179
+ icon: item.icon
180
+ }, null, 8, ["icon"]),
181
+ createElementVNode("span", _hoisted_13, toDisplayString(item.title), 1)
182
+ ], 8, _hoisted_12);
183
+ }), 128))
184
+ ], 512), [
185
+ [vShow, unref(showMoreControl)]
186
+ ])
187
+ ])), [
188
+ [unref(vClickOutside), handleShowMoreControl]
189
+ ])
139
190
  ])) : createCommentVNode("", true),
140
191
  createVNode(Dialog, {
141
192
  modelValue: unref(showManageAllUserDialog),
@@ -8,6 +8,8 @@ import { TUIMediaDevice } from "@tencentcloud/tuiroom-engine-electron";
8
8
  import renderMsg from "../common/base/Message/Message.mjs";
9
9
  import { MESSAGE_DURATION } from "../../constants/message.mjs";
10
10
  import { isMobile } from "../../utils/environment.mjs";
11
+ import AllMembersShareScreenIcon from "../common/icons/AllMembersShareScreenIcon.vue.mjs";
12
+ import HostShareScreenIcon from "../common/icons/HostShareScreenIcon.vue.mjs";
11
13
  function useIndex() {
12
14
  const roomEngine = useGetRoomEngine();
13
15
  const { t } = useI18n();
@@ -17,10 +19,18 @@ function useIndex() {
17
19
  userList,
18
20
  anchorUserList,
19
21
  applyToAnchorList,
20
- isOnStateTabActive
22
+ isOnStateTabActive,
23
+ generalUserScreenStreamList
21
24
  } = storeToRefs(roomStore);
25
+ let ManageControlType;
26
+ ((ManageControlType2) => {
27
+ ManageControlType2["AUDIO"] = "audio";
28
+ ManageControlType2["VIDEO"] = "video";
29
+ ManageControlType2["SCREEN"] = "screen";
30
+ })(ManageControlType || (ManageControlType = {}));
22
31
  const audienceUserList = computed(() => userList.value.filter((user) => !anchorUserList.value.includes(user)));
23
32
  const searchText = ref("");
33
+ const showMoreControl = ref(false);
24
34
  function handleToggleStaged() {
25
35
  isOnStateTabActive.value = !isOnStateTabActive.value;
26
36
  roomStore.setOnStageTabStatus(isOnStateTabActive.value);
@@ -36,8 +46,8 @@ function useIndex() {
36
46
  return list;
37
47
  }
38
48
  return list.filter((item) => {
39
- var _a;
40
- return ((_a = item.userName) == null ? void 0 : _a.includes(searchText.value)) || item.userId.includes(searchText.value);
49
+ var _a, _b;
50
+ return ((_a = item.nameCard) == null ? void 0 : _a.includes(searchText.value)) || ((_b = item.userName) == null ? void 0 : _b.includes(searchText.value)) || item.userId.includes(searchText.value);
41
51
  });
42
52
  });
43
53
  const alreadyStaged = computed(() => `${t("Already on stage")} (${anchorUserList.value.length})`);
@@ -47,26 +57,31 @@ function useIndex() {
47
57
  }
48
58
  const audioManageInfo = computed(() => roomStore.isMicrophoneDisableForAllUser ? t("Lift all mute") : t("All mute"));
49
59
  const videoManageInfo = computed(() => roomStore.isCameraDisableForAllUser ? t("Lift stop all video") : t("All stop video"));
60
+ const moreControlList = computed(() => [
61
+ {
62
+ title: roomStore.isScreenShareDisableForAllUser ? t("All members can share screen") : t("Screen sharing for host/admin only"),
63
+ icon: roomStore.isScreenShareDisableForAllUser ? AllMembersShareScreenIcon : HostShareScreenIcon,
64
+ func: toggleManageAllMember,
65
+ type: "screen"
66
+ /* SCREEN */
67
+ }
68
+ ]);
50
69
  const showManageAllUserDialog = ref(false);
51
70
  const dialogContent = ref("");
52
71
  const dialogTitle = ref("");
53
72
  const dialogActionInfo = ref("");
54
73
  let stateForAllAudio = false;
55
74
  let stateForAllVideo = false;
56
- let ManageControlType;
57
- ((ManageControlType2) => {
58
- ManageControlType2["AUDIO"] = "audio";
59
- ManageControlType2["VIDEO"] = "video";
60
- })(ManageControlType || (ManageControlType = {}));
75
+ let stateForScreenShare = false;
61
76
  const currentControlType = ref(
62
77
  "audio"
63
78
  /* AUDIO */
64
79
  );
65
80
  async function toggleManageAllMember(type) {
66
- showManageAllUserDialog.value = true;
67
81
  currentControlType.value = type;
68
82
  switch (type) {
69
83
  case "audio":
84
+ showManageAllUserDialog.value = true;
70
85
  dialogTitle.value = roomStore.isMicrophoneDisableForAllUser ? t("Enable all audios") : t("All current and new members will be muted");
71
86
  dialogContent.value = roomStore.isMicrophoneDisableForAllUser ? t("After unlocking, users can freely turn on the microphone") : t("Members will not be able to open the microphone");
72
87
  stateForAllAudio = !roomStore.isMicrophoneDisableForAllUser;
@@ -74,15 +89,27 @@ function useIndex() {
74
89
  dialogActionInfo.value = audioManageInfo.value;
75
90
  break;
76
91
  case "video":
92
+ showManageAllUserDialog.value = true;
77
93
  dialogTitle.value = roomStore.isCameraDisableForAllUser ? t("Enable all videos") : t("All and new members will be banned from the camera");
78
94
  dialogContent.value = roomStore.isCameraDisableForAllUser ? t("After unlocking, users can freely turn on the camera") : t("Members will not be able to open the camera");
79
95
  stateForAllVideo = !roomStore.isCameraDisableForAllUser;
80
96
  await nextTick();
81
97
  dialogActionInfo.value = videoManageInfo.value;
82
98
  break;
99
+ case "screen":
100
+ stateForScreenShare = !roomStore.isScreenShareDisableForAllUser;
101
+ if (generalUserScreenStreamList.value.length === 0) {
102
+ toggleAllScreenShare();
103
+ break;
104
+ }
105
+ showManageAllUserDialog.value = true;
106
+ dialogTitle.value = t("Is it turned on that only the host/admin can share the screen?");
107
+ dialogContent.value = t("Other member is sharing the screen is now, the member's sharing will be terminated after you turning on");
108
+ break;
83
109
  }
84
110
  }
85
111
  async function doToggleManageAllMember() {
112
+ var _a;
86
113
  switch (currentControlType.value) {
87
114
  case "audio":
88
115
  toggleAllAudio();
@@ -90,9 +117,25 @@ function useIndex() {
90
117
  case "video":
91
118
  toggleAllVideo();
92
119
  break;
120
+ case "screen":
121
+ await ((_a = roomEngine.instance) == null ? void 0 : _a.closeRemoteDeviceByAdmin({
122
+ userId: generalUserScreenStreamList.value[0].userId,
123
+ device: TUIMediaDevice.kScreen
124
+ }));
125
+ toggleAllScreenShare();
126
+ break;
93
127
  }
94
128
  showManageAllUserDialog.value = false;
95
129
  }
130
+ async function toggleAllScreenShare() {
131
+ var _a;
132
+ await ((_a = roomEngine.instance) == null ? void 0 : _a.disableDeviceForAllUserByAdmin({
133
+ isDisable: stateForScreenShare,
134
+ device: TUIMediaDevice.kScreen
135
+ }));
136
+ roomStore.setDisableScreenShareForAllUserByAdmin(stateForScreenShare);
137
+ showMoreControl.value = false;
138
+ }
96
139
  function showApplyUserList() {
97
140
  if (isMobile) {
98
141
  basicStore.setSidebarOpenStatus(true);
@@ -116,7 +159,7 @@ function useIndex() {
116
159
  isDisable: stateForAllAudio,
117
160
  device: TUIMediaDevice.kMicrophone
118
161
  }));
119
- roomStore.setMicrophoneDisableState(stateForAllAudio);
162
+ roomStore.setDisableMicrophoneForAllUserByAdmin(stateForAllAudio);
120
163
  }
121
164
  async function toggleAllVideo() {
122
165
  var _a;
@@ -133,17 +176,20 @@ function useIndex() {
133
176
  isDisable: stateForAllVideo,
134
177
  device: TUIMediaDevice.kCamera
135
178
  }));
136
- roomStore.setCameraDisableState(stateForAllVideo);
179
+ roomStore.setDisableCameraForAllUserByAdmin(stateForAllVideo);
137
180
  }
138
181
  const applyToAnchorUserContent = computed(() => {
139
- var _a, _b;
182
+ var _a, _b, _c;
140
183
  const lastIndex = applyToAnchorList.value.length - 1;
141
- const userName = ((_a = applyToAnchorList.value[lastIndex]) == null ? void 0 : _a.userName) || ((_b = applyToAnchorList.value[lastIndex]) == null ? void 0 : _b.userId);
184
+ const userName = ((_a = applyToAnchorList.value[lastIndex]) == null ? void 0 : _a.nameCard) || ((_b = applyToAnchorList.value[lastIndex]) == null ? void 0 : _b.userName) || ((_c = applyToAnchorList.value[lastIndex]) == null ? void 0 : _c.userId);
142
185
  if (applyToAnchorList.value.length === 1) {
143
186
  return `${userName} ${t("Applying for the stage")}`;
144
187
  }
145
188
  return `${userName} ${t("and so on number people applying to stage", { number: applyToAnchorList.value.length })}`;
146
189
  });
190
+ function toggleClickMoreBtn() {
191
+ showMoreControl.value = !showMoreControl.value;
192
+ }
147
193
  return {
148
194
  showApplyUserList,
149
195
  searchText,
@@ -163,7 +209,10 @@ function useIndex() {
163
209
  filteredUserList,
164
210
  isOnStateTabActive,
165
211
  handleToggleStaged,
166
- applyToAnchorUserContent
212
+ applyToAnchorUserContent,
213
+ toggleClickMoreBtn,
214
+ showMoreControl,
215
+ moreControlList
167
216
  };
168
217
  }
169
218
  export {
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./index.vue2.mjs";
2
2
  import "./index.vue3.mjs";
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const StreamContainer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d8433998"]]);
4
+ const StreamContainer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-06523284"]]);
5
5
  export {
6
6
  StreamContainer as default
7
7
  };
@@ -5,13 +5,14 @@ import { useBasicStore } from "../../../stores/basic.mjs";
5
5
  import { LAYOUT } from "../../../constants/render.mjs";
6
6
  import StreamRegion from "../StreamRegion/index.vue.mjs";
7
7
  import renderMsg from "../../common/base/Message/Message.mjs";
8
+ import MessageBox from "../../common/base/MessageBox/index.mjs";
8
9
  import { MESSAGE_DURATION } from "../../../constants/message.mjs";
9
10
  import { debounce } from "../../../utils/utils.mjs";
10
11
  import logger from "../../../utils/common/logger/index.mjs";
11
12
  import ArrowStroke from "../../common/ArrowStroke.vue.mjs";
12
13
  import SvgIcon from "../../common/base/SvgIcon.vue.mjs";
13
14
  import ArrowStrokeTurnPageIcon from "../../common/icons/ArrowStrokeTurnPageIcon.vue.mjs";
14
- import TUIRoomEngine, { TUIRoomEvents, TUIChangeReason, TUIVideoStreamType } from "@tencentcloud/tuiroom-engine-electron";
15
+ import TUIRoomEngine__default, { TUIRoomEvents, TUIChangeReason, TUIVideoStreamType } from "@tencentcloud/tuiroom-engine-electron";
15
16
  import useGetRoomEngine from "../../../hooks/useRoomEngine.mjs";
16
17
  import useStreamContainer from "./useStreamContainerHooks.mjs";
17
18
  import "../../../services/main.mjs";
@@ -346,10 +347,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
346
347
  roomStore.setCanControlSelfVideo(!roomStore.isCameraDisableForAllUser);
347
348
  }
348
349
  if (streamType === TUIVideoStreamType.kScreenStream) {
349
- renderMsg({
350
- type: "warning",
351
- message: t("The host has turned off your screen sharing"),
352
- duration: MESSAGE_DURATION.NORMAL
350
+ MessageBox({
351
+ title: t("Your screen sharing has been stopped"),
352
+ message: t("Your screen sharing has been stopped, Now only the host/admin can share the screen"),
353
+ confirmButtonText: t("I got it")
353
354
  });
354
355
  }
355
356
  }
@@ -403,8 +404,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
403
404
  }
404
405
  };
405
406
  const handleStreamContainerScroll = async () => {
406
- const childDom = streamListRef.value.children[0];
407
407
  await nextTick();
408
+ const childDom = streamListRef.value.children[0];
408
409
  let index = 0;
409
410
  let finalIndex = 0;
410
411
  let number = 0;
@@ -447,7 +448,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
447
448
  onUnmounted(() => {
448
449
  streamListRef.value && streamListRef.value.removeEventListener("scroll", handleStreamContainerScrollDebounce);
449
450
  });
450
- TUIRoomEngine.once("ready", () => {
451
+ TUIRoomEngine__default.once("ready", () => {
451
452
  var _a, _b, _c, _d, _e;
452
453
  (_a = roomEngine.instance) == null ? void 0 : _a.on(TUIRoomEvents.onRemoteUserEnterRoom, onRemoteUserEnterRoom);
453
454
  (_b = roomEngine.instance) == null ? void 0 : _b.on(TUIRoomEvents.onRemoteUserLeaveRoom, onRemoteUserLeaveRoom);
@@ -500,8 +501,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
500
501
  "enlarge-dom-id": enlargeDomId.value,
501
502
  class: "single-stream",
502
503
  style: normalizeStyle(streamStyle.value),
503
- onRoom_dblclick: ($event) => handleEnlargeStreamRegion(stream)
504
- }, null, 8, ["stream", "enlarge-dom-id", "style", "onRoom_dblclick"])), [
504
+ onRoomDblclick: ($event) => handleEnlargeStreamRegion(stream)
505
+ }, null, 8, ["stream", "enlarge-dom-id", "style", "onRoomDblclick"])), [
505
506
  [vShow, showStreamList.value.indexOf(stream) > -1]
506
507
  ]);
507
508
  }), 128))
@@ -1,6 +1,10 @@
1
1
  import { TUIChangeReason, TUIUserInfo } from '@tencentcloud/tuiroom-engine-electron';
2
+ import { StreamInfo } from '../../../stores/room';
3
+ import { Ref } from 'vue';
2
4
 
3
5
  export default function useStreamContainer(): {
6
+ currentRemoteSpeakerUserId: Ref<string>;
7
+ currentSpeakerUserId: Ref<string>;
4
8
  onRemoteUserEnterRoom: (eventInfo: {
5
9
  userInfo: TUIUserInfo;
6
10
  }) => void;
@@ -17,5 +21,9 @@ export default function useStreamContainer(): {
17
21
  hasAudio: boolean;
18
22
  reason: TUIChangeReason;
19
23
  }) => void;
24
+ onUserVoiceVolumeChanged: (eventInfo: {
25
+ userVolumeList: any[];
26
+ }) => void;
27
+ isSameStream: (stream1: StreamInfo | null, stream2: StreamInfo | null) => boolean;
20
28
  t: any;
21
29
  };
@@ -1,4 +1,4 @@
1
- import { watch } from "vue";
1
+ import { ref, watch } from "vue";
2
2
  import useGetRoomEngine from "../../../hooks/useRoomEngine.mjs";
3
3
  import { useRoomStore } from "../../../stores/room.mjs";
4
4
  import { TUIMediaDeviceType, TUIChangeReason } from "@tencentcloud/tuiroom-engine-electron";
@@ -8,16 +8,20 @@ import { useBasicStore } from "../../../stores/basic.mjs";
8
8
  import { MESSAGE_DURATION } from "../../../constants/message.mjs";
9
9
  import { storeToRefs } from "pinia";
10
10
  import { isWeChat, isMobile } from "../../../utils/environment.mjs";
11
- import logger from "../../../utils/common/logger/index.mjs";
12
11
  import { SMALL_VIDEO_ENC_PARAM } from "../../../constants/room.mjs";
13
12
  import useDeviceManager from "../../../hooks/useDeviceManager.mjs";
14
- const logPrefix = "[StreamContainer]";
13
+ import { throttle } from "../../../utils/utils.mjs";
14
+ import { LAYOUT } from "../../../constants/render.mjs";
15
15
  function useStreamContainer() {
16
16
  const roomEngine = useGetRoomEngine();
17
17
  const basicStore = useBasicStore();
18
18
  const roomStore = useRoomStore();
19
+ const { layout } = storeToRefs(basicStore);
20
+ const { localStream } = storeToRefs(roomStore);
19
21
  const { t } = useI18n();
20
22
  const { deviceManager } = useDeviceManager();
23
+ const currentRemoteSpeakerUserId = ref("");
24
+ const currentSpeakerUserId = ref("");
21
25
  const onRemoteUserEnterRoom = (eventInfo) => {
22
26
  roomStore.addRemoteUser(eventInfo.userInfo);
23
27
  };
@@ -40,53 +44,88 @@ function useStreamContainer() {
40
44
  roomStore.setCanControlSelfAudio(!roomStore.isMicrophoneDisableForAllUser);
41
45
  }
42
46
  };
47
+ function handleUserVoiceVolume(userVolumeList) {
48
+ const localUserVolume = {
49
+ userId: basicStore.userId,
50
+ volume: 0
51
+ };
52
+ const largestRemoteUserVolume = {
53
+ userId: "",
54
+ volume: 0
55
+ };
56
+ userVolumeList.forEach((item) => {
57
+ var _a;
58
+ if (item.userId === basicStore.userId && localStream.value.hasAudioStream) {
59
+ localUserVolume.volume = item.volume;
60
+ } else if (item.userId !== basicStore.userId && ((_a = roomStore.remoteUserObj[item.userId]) == null ? void 0 : _a.hasAudioStream)) {
61
+ const { userId, volume } = item;
62
+ if (volume > largestRemoteUserVolume.volume) {
63
+ largestRemoteUserVolume.userId = userId;
64
+ largestRemoteUserVolume.volume = volume;
65
+ }
66
+ }
67
+ });
68
+ const largestUserVolume = localUserVolume.volume > largestRemoteUserVolume.volume ? localUserVolume : largestRemoteUserVolume;
69
+ if (currentRemoteSpeakerUserId.value) {
70
+ const lastRemoteSpeakerUserVolumeInfo = userVolumeList.find((item) => item.userId === currentRemoteSpeakerUserId.value);
71
+ if (!lastRemoteSpeakerUserVolumeInfo || lastRemoteSpeakerUserVolumeInfo.volume === 0) {
72
+ if (largestRemoteUserVolume.volume > 0) {
73
+ currentRemoteSpeakerUserId.value = largestRemoteUserVolume.userId;
74
+ }
75
+ }
76
+ } else {
77
+ if (largestRemoteUserVolume.volume > 0) {
78
+ currentRemoteSpeakerUserId.value = largestRemoteUserVolume.userId;
79
+ }
80
+ }
81
+ if (currentSpeakerUserId.value) {
82
+ const lastSpeakerUserVolumeInfo = userVolumeList.find((item) => item.userId === currentSpeakerUserId.value);
83
+ if (!lastSpeakerUserVolumeInfo || lastSpeakerUserVolumeInfo.volume === 0) {
84
+ if (largestUserVolume.volume > 0) {
85
+ currentSpeakerUserId.value = largestUserVolume.userId;
86
+ }
87
+ }
88
+ } else {
89
+ if (largestUserVolume.volume > 0) {
90
+ currentSpeakerUserId.value = largestUserVolume.userId;
91
+ }
92
+ }
93
+ }
94
+ const handleUserVoiceVolumeThrottle = throttle(handleUserVoiceVolume, 1e3);
95
+ const onUserVoiceVolumeChanged = (eventInfo) => {
96
+ const { userVolumeList } = eventInfo;
97
+ if (layout.value === LAYOUT.LARGE_SMALL_WINDOW) {
98
+ handleUserVoiceVolumeThrottle(userVolumeList);
99
+ }
100
+ };
43
101
  const {
44
102
  isDefaultOpenCamera,
45
103
  isDefaultOpenMicrophone
46
104
  } = storeToRefs(roomStore);
47
105
  watch(isDefaultOpenCamera, async (val) => {
48
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
106
+ var _a, _b, _c, _d, _e, _f;
49
107
  if (val) {
50
108
  if (isWeChat) {
51
- await ((_a = roomEngine.instance) == null ? void 0 : _a.setLocalVideoView({
52
- view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`
53
- }));
54
- await ((_b = roomEngine.instance) == null ? void 0 : _b.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
109
+ await ((_a = roomEngine.instance) == null ? void 0 : _a.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
55
110
  } else if (isMobile) {
56
- const previewDom = document == null ? void 0 : document.getElementById(`${roomStore.localStream.userId}_${roomStore.localStream.streamType}`);
57
- if (!previewDom) {
58
- logger.error(`${logPrefix}watch isDefaultOpenCamera:`, isDefaultOpenCamera, previewDom);
59
- return;
60
- }
61
- await ((_c = roomEngine.instance) == null ? void 0 : _c.setLocalVideoView({
62
- view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`
63
- }));
64
- const trtcCloud = (_d = roomEngine.instance) == null ? void 0 : _d.getTRTCCloud();
111
+ const trtcCloud = (_b = roomEngine.instance) == null ? void 0 : _b.getTRTCCloud();
65
112
  trtcCloud == null ? void 0 : trtcCloud.enableSmallVideoStream(false, SMALL_VIDEO_ENC_PARAM);
66
- await ((_e = roomEngine.instance) == null ? void 0 : _e.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
113
+ await ((_c = roomEngine.instance) == null ? void 0 : _c.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
67
114
  return;
68
115
  } else {
69
- const previewDom = document == null ? void 0 : document.getElementById(`${roomStore.localStream.userId}_${roomStore.localStream.streamType}`);
70
- if (!previewDom) {
71
- logger.error(`${logPrefix}watch isDefaultOpenCamera:`, isDefaultOpenCamera, previewDom);
72
- return;
73
- }
74
116
  if (!roomStore.currentCameraId) {
75
- const cameraList = await ((_f = deviceManager.instance) == null ? void 0 : _f.getDevicesList({
117
+ const cameraList = await ((_d = deviceManager.instance) == null ? void 0 : _d.getDevicesList({
76
118
  type: TUIMediaDeviceType.kMediaDeviceTypeVideoCamera
77
119
  }));
78
120
  if (cameraList && cameraList.length > 0) {
79
121
  roomStore.setCurrentCameraId(cameraList[0].deviceId);
80
122
  }
81
123
  }
82
- await ((_g = deviceManager.instance) == null ? void 0 : _g.setCurrentDevice({
124
+ await ((_e = deviceManager.instance) == null ? void 0 : _e.setCurrentDevice({
83
125
  type: TUIMediaDeviceType.kMediaDeviceTypeVideoCamera,
84
126
  deviceId: roomStore.currentCameraId
85
127
  }));
86
- await ((_h = roomEngine.instance) == null ? void 0 : _h.setLocalVideoView({
87
- view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`
88
- }));
89
- await ((_i = roomEngine.instance) == null ? void 0 : _i.openLocalCamera());
128
+ await ((_f = roomEngine.instance) == null ? void 0 : _f.openLocalCamera());
90
129
  }
91
130
  }
92
131
  }, { immediate: true });
@@ -115,11 +154,16 @@ function useStreamContainer() {
115
154
  await ((_f = roomEngine.instance) == null ? void 0 : _f.muteLocalAudio());
116
155
  }
117
156
  }, { immediate: true });
157
+ const isSameStream = (stream1, stream2) => `${stream1 == null ? void 0 : stream1.userId}_${stream1 == null ? void 0 : stream1.streamType}` === `${stream2 == null ? void 0 : stream2.userId}_${stream2 == null ? void 0 : stream2.streamType}`;
118
158
  return {
159
+ currentRemoteSpeakerUserId,
160
+ currentSpeakerUserId,
119
161
  onRemoteUserEnterRoom,
120
162
  onRemoteUserLeaveRoom,
121
163
  onSeatListChanged,
122
164
  onUserAudioStateChanged,
165
+ onUserVoiceVolumeChanged,
166
+ isSameStream,
123
167
  t
124
168
  };
125
169
  }
@@ -5,7 +5,11 @@ interface Props {
5
5
  enlargeDomId?: string;
6
6
  changeLargeStream?: boolean;
7
7
  }
8
- declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>>, {}, {}>;
8
+ declare const _default: import('vue').DefineComponent<__VLS_TypePropsToRuntimeProps<Props>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ "room-dblclick": (...args: any[]) => void;
10
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>> & {
11
+ "onRoom-dblclick"?: ((...args: any[]) => any) | undefined;
12
+ }, {}, {}>;
9
13
  export default _default;
10
14
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
11
15
  type __VLS_TypePropsToRuntimeProps<T> = {
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./index.vue2.mjs";
2
2
  import "./index.vue3.mjs";
3
3
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const StreamRegion = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f3b29630"]]);
4
+ const StreamRegion = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d119ad48"]]);
5
5
  export {
6
6
  StreamRegion as default
7
7
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, ref, watch, nextTick, openBlock, createElementBlock, createBlock, Fragment, createVNode, createCommentVNode, createElementVNode, normalizeClass, toDisplayString, unref } from "vue";
2
2
  import { useRoomStore } from "../../../stores/room.mjs";
3
- import Avatar from "../../common/Avatar.vue.mjs";
3
+ import TuiAvatar from "../../common/Avatar.vue.mjs";
4
4
  import { useBasicStore } from "../../../stores/basic.mjs";
5
5
  import logger from "../../../utils/common/logger/index.mjs";
6
6
  import AudioIcon from "../../common/AudioIcon.vue.mjs";
@@ -29,6 +29,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
29
29
  enlargeDomId: {},
30
30
  changeLargeStream: { type: Boolean }
31
31
  },
32
+ emits: ["room-dblclick"],
32
33
  setup(__props) {
33
34
  const roomEngine = useGetRoomEngine();
34
35
  const basicStore = useBasicStore();
@@ -53,10 +54,33 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
53
54
  const isScreenStream = computed(() => props.stream.streamType === TUIVideoStreamType.kScreenStream);
54
55
  const userInfo = computed(() => {
55
56
  if (isInnerScene) {
56
- return `${props.stream.userName} | ${props.stream.userId}` || props.stream.userId;
57
+ return `${props.stream.nameCard || props.stream.userName} | ${props.stream.userId}`;
57
58
  }
58
- return props.stream.userName || props.stream.userId;
59
+ return props.stream.nameCard || props.stream.userName || props.stream.userId;
59
60
  });
61
+ watch(
62
+ () => props.stream.hasVideoStream,
63
+ async (val) => {
64
+ var _a, _b;
65
+ if (props.stream.userId === basicStore.userId && props.stream.streamType === TUIVideoStreamType.kCameraStream) {
66
+ if (val) {
67
+ await nextTick();
68
+ const userIdEl = document == null ? void 0 : document.getElementById(`${playRegionDomId.value}`);
69
+ if (userIdEl) {
70
+ logger.debug(`${logPrefix}watch isVideoStreamAvailable:`, props.stream.userId, userIdEl);
71
+ await ((_a = roomEngine.instance) == null ? void 0 : _a.setLocalVideoView({
72
+ view: `${playRegionDomId.value}`
73
+ }));
74
+ }
75
+ } else {
76
+ await ((_b = roomEngine.instance) == null ? void 0 : _b.setLocalVideoView({
77
+ view: null
78
+ }));
79
+ }
80
+ }
81
+ },
82
+ { immediate: true }
83
+ );
60
84
  const streamTypeToFetch = computed(() => {
61
85
  const { streamType, userId } = props.stream;
62
86
  const { kScreenStream, kCameraStream } = TUIVideoStreamType;
@@ -166,7 +190,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
166
190
  ref_key: "streamRegionRef",
167
191
  ref: streamRegionRef,
168
192
  class: "user-stream-container",
169
- onDblclick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("room_dblclick"))
193
+ onDblclick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("room-dblclick"))
170
194
  }, [
171
195
  isLocalScreen.value ? (openBlock(), createBlock(LocalScreenStream, {
172
196
  key: 0,
@@ -188,7 +212,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
188
212
  ref: centerUserInfoRef,
189
213
  class: "center-user-info-container"
190
214
  }, [
191
- createVNode(Avatar, {
215
+ createVNode(TuiAvatar, {
192
216
  class: "avatar-region",
193
217
  "img-src": _ctx.stream.avatarUrl
194
218
  }, null, 8, ["img-src"])
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./index.vue2.mjs";
2
2
  import "./index.vue3.mjs";
3
3
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const MasterApplyControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5e2dbb41"]]);
4
+ const MasterApplyControl = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-1d9fb310"]]);
5
5
  export {
6
6
  MasterApplyControl as default
7
7
  };