@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
@@ -10,6 +10,8 @@ const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-electron");
10
10
  const Message = require("../common/base/Message/Message.js");
11
11
  const message = require("../../constants/message.js");
12
12
  const environment = require("../../utils/environment.js");
13
+ const AllMembersShareScreenIcon = require("../common/icons/AllMembersShareScreenIcon.vue.js");
14
+ const HostShareScreenIcon = require("../common/icons/HostShareScreenIcon.vue.js");
13
15
  function useIndex() {
14
16
  const roomEngine = useRoomEngine.default();
15
17
  const { t } = index.useI18n();
@@ -19,10 +21,18 @@ function useIndex() {
19
21
  userList,
20
22
  anchorUserList,
21
23
  applyToAnchorList,
22
- isOnStateTabActive
24
+ isOnStateTabActive,
25
+ generalUserScreenStreamList
23
26
  } = pinia.storeToRefs(roomStore);
27
+ let ManageControlType;
28
+ ((ManageControlType2) => {
29
+ ManageControlType2["AUDIO"] = "audio";
30
+ ManageControlType2["VIDEO"] = "video";
31
+ ManageControlType2["SCREEN"] = "screen";
32
+ })(ManageControlType || (ManageControlType = {}));
24
33
  const audienceUserList = Vue.computed(() => userList.value.filter((user) => !anchorUserList.value.includes(user)));
25
34
  const searchText = Vue.ref("");
35
+ const showMoreControl = Vue.ref(false);
26
36
  function handleToggleStaged() {
27
37
  isOnStateTabActive.value = !isOnStateTabActive.value;
28
38
  roomStore.setOnStageTabStatus(isOnStateTabActive.value);
@@ -38,8 +48,8 @@ function useIndex() {
38
48
  return list;
39
49
  }
40
50
  return list.filter((item) => {
41
- var _a;
42
- return ((_a = item.userName) == null ? void 0 : _a.includes(searchText.value)) || item.userId.includes(searchText.value);
51
+ var _a, _b;
52
+ 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);
43
53
  });
44
54
  });
45
55
  const alreadyStaged = Vue.computed(() => `${t("Already on stage")} (${anchorUserList.value.length})`);
@@ -49,26 +59,31 @@ function useIndex() {
49
59
  }
50
60
  const audioManageInfo = Vue.computed(() => roomStore.isMicrophoneDisableForAllUser ? t("Lift all mute") : t("All mute"));
51
61
  const videoManageInfo = Vue.computed(() => roomStore.isCameraDisableForAllUser ? t("Lift stop all video") : t("All stop video"));
62
+ const moreControlList = Vue.computed(() => [
63
+ {
64
+ title: roomStore.isScreenShareDisableForAllUser ? t("All members can share screen") : t("Screen sharing for host/admin only"),
65
+ icon: roomStore.isScreenShareDisableForAllUser ? AllMembersShareScreenIcon.default : HostShareScreenIcon.default,
66
+ func: toggleManageAllMember,
67
+ type: "screen"
68
+ /* SCREEN */
69
+ }
70
+ ]);
52
71
  const showManageAllUserDialog = Vue.ref(false);
53
72
  const dialogContent = Vue.ref("");
54
73
  const dialogTitle = Vue.ref("");
55
74
  const dialogActionInfo = Vue.ref("");
56
75
  let stateForAllAudio = false;
57
76
  let stateForAllVideo = false;
58
- let ManageControlType;
59
- ((ManageControlType2) => {
60
- ManageControlType2["AUDIO"] = "audio";
61
- ManageControlType2["VIDEO"] = "video";
62
- })(ManageControlType || (ManageControlType = {}));
77
+ let stateForScreenShare = false;
63
78
  const currentControlType = Vue.ref(
64
79
  "audio"
65
80
  /* AUDIO */
66
81
  );
67
82
  async function toggleManageAllMember(type) {
68
- showManageAllUserDialog.value = true;
69
83
  currentControlType.value = type;
70
84
  switch (type) {
71
85
  case "audio":
86
+ showManageAllUserDialog.value = true;
72
87
  dialogTitle.value = roomStore.isMicrophoneDisableForAllUser ? t("Enable all audios") : t("All current and new members will be muted");
73
88
  dialogContent.value = roomStore.isMicrophoneDisableForAllUser ? t("After unlocking, users can freely turn on the microphone") : t("Members will not be able to open the microphone");
74
89
  stateForAllAudio = !roomStore.isMicrophoneDisableForAllUser;
@@ -76,15 +91,27 @@ function useIndex() {
76
91
  dialogActionInfo.value = audioManageInfo.value;
77
92
  break;
78
93
  case "video":
94
+ showManageAllUserDialog.value = true;
79
95
  dialogTitle.value = roomStore.isCameraDisableForAllUser ? t("Enable all videos") : t("All and new members will be banned from the camera");
80
96
  dialogContent.value = roomStore.isCameraDisableForAllUser ? t("After unlocking, users can freely turn on the camera") : t("Members will not be able to open the camera");
81
97
  stateForAllVideo = !roomStore.isCameraDisableForAllUser;
82
98
  await Vue.nextTick();
83
99
  dialogActionInfo.value = videoManageInfo.value;
84
100
  break;
101
+ case "screen":
102
+ stateForScreenShare = !roomStore.isScreenShareDisableForAllUser;
103
+ if (generalUserScreenStreamList.value.length === 0) {
104
+ toggleAllScreenShare();
105
+ break;
106
+ }
107
+ showManageAllUserDialog.value = true;
108
+ dialogTitle.value = t("Is it turned on that only the host/admin can share the screen?");
109
+ dialogContent.value = t("Other member is sharing the screen is now, the member's sharing will be terminated after you turning on");
110
+ break;
85
111
  }
86
112
  }
87
113
  async function doToggleManageAllMember() {
114
+ var _a;
88
115
  switch (currentControlType.value) {
89
116
  case "audio":
90
117
  toggleAllAudio();
@@ -92,9 +119,25 @@ function useIndex() {
92
119
  case "video":
93
120
  toggleAllVideo();
94
121
  break;
122
+ case "screen":
123
+ await ((_a = roomEngine.instance) == null ? void 0 : _a.closeRemoteDeviceByAdmin({
124
+ userId: generalUserScreenStreamList.value[0].userId,
125
+ device: TUIRoomEngine.TUIMediaDevice.kScreen
126
+ }));
127
+ toggleAllScreenShare();
128
+ break;
95
129
  }
96
130
  showManageAllUserDialog.value = false;
97
131
  }
132
+ async function toggleAllScreenShare() {
133
+ var _a;
134
+ await ((_a = roomEngine.instance) == null ? void 0 : _a.disableDeviceForAllUserByAdmin({
135
+ isDisable: stateForScreenShare,
136
+ device: TUIRoomEngine.TUIMediaDevice.kScreen
137
+ }));
138
+ roomStore.setDisableScreenShareForAllUserByAdmin(stateForScreenShare);
139
+ showMoreControl.value = false;
140
+ }
98
141
  function showApplyUserList() {
99
142
  if (environment.isMobile) {
100
143
  basicStore.setSidebarOpenStatus(true);
@@ -118,7 +161,7 @@ function useIndex() {
118
161
  isDisable: stateForAllAudio,
119
162
  device: TUIRoomEngine.TUIMediaDevice.kMicrophone
120
163
  }));
121
- roomStore.setMicrophoneDisableState(stateForAllAudio);
164
+ roomStore.setDisableMicrophoneForAllUserByAdmin(stateForAllAudio);
122
165
  }
123
166
  async function toggleAllVideo() {
124
167
  var _a;
@@ -135,17 +178,20 @@ function useIndex() {
135
178
  isDisable: stateForAllVideo,
136
179
  device: TUIRoomEngine.TUIMediaDevice.kCamera
137
180
  }));
138
- roomStore.setCameraDisableState(stateForAllVideo);
181
+ roomStore.setDisableCameraForAllUserByAdmin(stateForAllVideo);
139
182
  }
140
183
  const applyToAnchorUserContent = Vue.computed(() => {
141
- var _a, _b;
184
+ var _a, _b, _c;
142
185
  const lastIndex = applyToAnchorList.value.length - 1;
143
- const userName = ((_a = applyToAnchorList.value[lastIndex]) == null ? void 0 : _a.userName) || ((_b = applyToAnchorList.value[lastIndex]) == null ? void 0 : _b.userId);
186
+ 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);
144
187
  if (applyToAnchorList.value.length === 1) {
145
188
  return `${userName} ${t("Applying for the stage")}`;
146
189
  }
147
190
  return `${userName} ${t("and so on number people applying to stage", { number: applyToAnchorList.value.length })}`;
148
191
  });
192
+ function toggleClickMoreBtn() {
193
+ showMoreControl.value = !showMoreControl.value;
194
+ }
149
195
  return {
150
196
  showApplyUserList,
151
197
  searchText,
@@ -165,7 +211,10 @@ function useIndex() {
165
211
  filteredUserList,
166
212
  isOnStateTabActive,
167
213
  handleToggleStaged,
168
- applyToAnchorUserContent
214
+ applyToAnchorUserContent,
215
+ toggleClickMoreBtn,
216
+ showMoreControl,
217
+ moreControlList
169
218
  };
170
219
  }
171
220
  exports.default = useIndex;
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
4
4
  require("./index.vue3.js");
5
5
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const StreamContainer = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-d8433998"]]);
6
+ const StreamContainer = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-06523284"]]);
7
7
  exports.default = StreamContainer;
@@ -7,9 +7,10 @@ const basic = require("../../../stores/basic.js");
7
7
  const render = require("../../../constants/render.js");
8
8
  const index = require("../StreamRegion/index.vue.js");
9
9
  const Message = require("../../common/base/Message/Message.js");
10
+ const index$1 = require("../../common/base/MessageBox/index.js");
10
11
  const message = require("../../../constants/message.js");
11
12
  const utils = require("../../../utils/utils.js");
12
- const index$1 = require("../../../utils/common/logger/index.js");
13
+ const index$2 = require("../../../utils/common/logger/index.js");
13
14
  const ArrowStroke = require("../../common/ArrowStroke.vue.js");
14
15
  const SvgIcon = require("../../common/base/SvgIcon.vue.js");
15
16
  const ArrowStrokeTurnPageIcon = require("../../common/icons/ArrowStrokeTurnPageIcon.vue.js");
@@ -348,10 +349,10 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
348
349
  roomStore.setCanControlSelfVideo(!roomStore.isCameraDisableForAllUser);
349
350
  }
350
351
  if (streamType === TUIRoomEngine.TUIVideoStreamType.kScreenStream) {
351
- Message.default({
352
- type: "warning",
353
- message: t("The host has turned off your screen sharing"),
354
- duration: message.MESSAGE_DURATION.NORMAL
352
+ index$1.default({
353
+ title: t("Your screen sharing has been stopped"),
354
+ message: t("Your screen sharing has been stopped, Now only the host/admin can share the screen"),
355
+ confirmButtonText: t("I got it")
355
356
  });
356
357
  }
357
358
  }
@@ -371,7 +372,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
371
372
  if (userId !== basicStore.userId) {
372
373
  roomStore.setHasOtherScreenShare(false);
373
374
  }
374
- index$1.default.debug(`${logPrefix} onUserVideoStateChanged: stop`, userId, streamType);
375
+ index$2.default.debug(`${logPrefix} onUserVideoStateChanged: stop`, userId, streamType);
375
376
  (_b = roomEngine.instance) == null ? void 0 : _b.stopPlayRemoteVideo({
376
377
  userId,
377
378
  streamType
@@ -405,8 +406,8 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
405
406
  }
406
407
  };
407
408
  const handleStreamContainerScroll = async () => {
408
- const childDom = streamListRef.value.children[0];
409
409
  await Vue.nextTick();
410
+ const childDom = streamListRef.value.children[0];
410
411
  let index2 = 0;
411
412
  let finalIndex = 0;
412
413
  let number = 0;
@@ -502,8 +503,8 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
502
503
  "enlarge-dom-id": enlargeDomId.value,
503
504
  class: "single-stream",
504
505
  style: Vue.normalizeStyle(streamStyle.value),
505
- onRoom_dblclick: ($event) => handleEnlargeStreamRegion(stream)
506
- }, null, 8, ["stream", "enlarge-dom-id", "style", "onRoom_dblclick"])), [
506
+ onRoomDblclick: ($event) => handleEnlargeStreamRegion(stream)
507
+ }, null, 8, ["stream", "enlarge-dom-id", "style", "onRoomDblclick"])), [
507
508
  [Vue.vShow, showStreamList.value.indexOf(stream) > -1]
508
509
  ]);
509
510
  }), 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
  };
@@ -10,16 +10,20 @@ const basic = require("../../../stores/basic.js");
10
10
  const message = require("../../../constants/message.js");
11
11
  const pinia = require("pinia");
12
12
  const environment = require("../../../utils/environment.js");
13
- const index$1 = require("../../../utils/common/logger/index.js");
14
13
  const room$1 = require("../../../constants/room.js");
15
14
  const useDeviceManager = require("../../../hooks/useDeviceManager.js");
16
- const logPrefix = "[StreamContainer]";
15
+ const utils = require("../../../utils/utils.js");
16
+ const render = require("../../../constants/render.js");
17
17
  function useStreamContainer() {
18
18
  const roomEngine = useRoomEngine.default();
19
19
  const basicStore = basic.useBasicStore();
20
20
  const roomStore = room.useRoomStore();
21
+ const { layout } = pinia.storeToRefs(basicStore);
22
+ const { localStream } = pinia.storeToRefs(roomStore);
21
23
  const { t } = index.useI18n();
22
24
  const { deviceManager } = useDeviceManager.default();
25
+ const currentRemoteSpeakerUserId = Vue.ref("");
26
+ const currentSpeakerUserId = Vue.ref("");
23
27
  const onRemoteUserEnterRoom = (eventInfo) => {
24
28
  roomStore.addRemoteUser(eventInfo.userInfo);
25
29
  };
@@ -42,53 +46,88 @@ function useStreamContainer() {
42
46
  roomStore.setCanControlSelfAudio(!roomStore.isMicrophoneDisableForAllUser);
43
47
  }
44
48
  };
49
+ function handleUserVoiceVolume(userVolumeList) {
50
+ const localUserVolume = {
51
+ userId: basicStore.userId,
52
+ volume: 0
53
+ };
54
+ const largestRemoteUserVolume = {
55
+ userId: "",
56
+ volume: 0
57
+ };
58
+ userVolumeList.forEach((item) => {
59
+ var _a;
60
+ if (item.userId === basicStore.userId && localStream.value.hasAudioStream) {
61
+ localUserVolume.volume = item.volume;
62
+ } else if (item.userId !== basicStore.userId && ((_a = roomStore.remoteUserObj[item.userId]) == null ? void 0 : _a.hasAudioStream)) {
63
+ const { userId, volume } = item;
64
+ if (volume > largestRemoteUserVolume.volume) {
65
+ largestRemoteUserVolume.userId = userId;
66
+ largestRemoteUserVolume.volume = volume;
67
+ }
68
+ }
69
+ });
70
+ const largestUserVolume = localUserVolume.volume > largestRemoteUserVolume.volume ? localUserVolume : largestRemoteUserVolume;
71
+ if (currentRemoteSpeakerUserId.value) {
72
+ const lastRemoteSpeakerUserVolumeInfo = userVolumeList.find((item) => item.userId === currentRemoteSpeakerUserId.value);
73
+ if (!lastRemoteSpeakerUserVolumeInfo || lastRemoteSpeakerUserVolumeInfo.volume === 0) {
74
+ if (largestRemoteUserVolume.volume > 0) {
75
+ currentRemoteSpeakerUserId.value = largestRemoteUserVolume.userId;
76
+ }
77
+ }
78
+ } else {
79
+ if (largestRemoteUserVolume.volume > 0) {
80
+ currentRemoteSpeakerUserId.value = largestRemoteUserVolume.userId;
81
+ }
82
+ }
83
+ if (currentSpeakerUserId.value) {
84
+ const lastSpeakerUserVolumeInfo = userVolumeList.find((item) => item.userId === currentSpeakerUserId.value);
85
+ if (!lastSpeakerUserVolumeInfo || lastSpeakerUserVolumeInfo.volume === 0) {
86
+ if (largestUserVolume.volume > 0) {
87
+ currentSpeakerUserId.value = largestUserVolume.userId;
88
+ }
89
+ }
90
+ } else {
91
+ if (largestUserVolume.volume > 0) {
92
+ currentSpeakerUserId.value = largestUserVolume.userId;
93
+ }
94
+ }
95
+ }
96
+ const handleUserVoiceVolumeThrottle = utils.throttle(handleUserVoiceVolume, 1e3);
97
+ const onUserVoiceVolumeChanged = (eventInfo) => {
98
+ const { userVolumeList } = eventInfo;
99
+ if (layout.value === render.LAYOUT.LARGE_SMALL_WINDOW) {
100
+ handleUserVoiceVolumeThrottle(userVolumeList);
101
+ }
102
+ };
45
103
  const {
46
104
  isDefaultOpenCamera,
47
105
  isDefaultOpenMicrophone
48
106
  } = pinia.storeToRefs(roomStore);
49
107
  Vue.watch(isDefaultOpenCamera, async (val) => {
50
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
108
+ var _a, _b, _c, _d, _e, _f;
51
109
  if (val) {
52
110
  if (environment.isWeChat) {
53
- await ((_a = roomEngine.instance) == null ? void 0 : _a.setLocalVideoView({
54
- view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`
55
- }));
56
- await ((_b = roomEngine.instance) == null ? void 0 : _b.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
111
+ await ((_a = roomEngine.instance) == null ? void 0 : _a.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
57
112
  } else if (environment.isMobile) {
58
- const previewDom = document == null ? void 0 : document.getElementById(`${roomStore.localStream.userId}_${roomStore.localStream.streamType}`);
59
- if (!previewDom) {
60
- index$1.default.error(`${logPrefix}watch isDefaultOpenCamera:`, isDefaultOpenCamera, previewDom);
61
- return;
62
- }
63
- await ((_c = roomEngine.instance) == null ? void 0 : _c.setLocalVideoView({
64
- view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`
65
- }));
66
- const trtcCloud = (_d = roomEngine.instance) == null ? void 0 : _d.getTRTCCloud();
113
+ const trtcCloud = (_b = roomEngine.instance) == null ? void 0 : _b.getTRTCCloud();
67
114
  trtcCloud == null ? void 0 : trtcCloud.enableSmallVideoStream(false, room$1.SMALL_VIDEO_ENC_PARAM);
68
- await ((_e = roomEngine.instance) == null ? void 0 : _e.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
115
+ await ((_c = roomEngine.instance) == null ? void 0 : _c.openLocalCamera({ isFrontCamera: basicStore.isFrontCamera }));
69
116
  return;
70
117
  } else {
71
- const previewDom = document == null ? void 0 : document.getElementById(`${roomStore.localStream.userId}_${roomStore.localStream.streamType}`);
72
- if (!previewDom) {
73
- index$1.default.error(`${logPrefix}watch isDefaultOpenCamera:`, isDefaultOpenCamera, previewDom);
74
- return;
75
- }
76
118
  if (!roomStore.currentCameraId) {
77
- const cameraList = await ((_f = deviceManager.instance) == null ? void 0 : _f.getDevicesList({
119
+ const cameraList = await ((_d = deviceManager.instance) == null ? void 0 : _d.getDevicesList({
78
120
  type: TUIRoomEngine.TUIMediaDeviceType.kMediaDeviceTypeVideoCamera
79
121
  }));
80
122
  if (cameraList && cameraList.length > 0) {
81
123
  roomStore.setCurrentCameraId(cameraList[0].deviceId);
82
124
  }
83
125
  }
84
- await ((_g = deviceManager.instance) == null ? void 0 : _g.setCurrentDevice({
126
+ await ((_e = deviceManager.instance) == null ? void 0 : _e.setCurrentDevice({
85
127
  type: TUIRoomEngine.TUIMediaDeviceType.kMediaDeviceTypeVideoCamera,
86
128
  deviceId: roomStore.currentCameraId
87
129
  }));
88
- await ((_h = roomEngine.instance) == null ? void 0 : _h.setLocalVideoView({
89
- view: `${roomStore.localStream.userId}_${roomStore.localStream.streamType}`
90
- }));
91
- await ((_i = roomEngine.instance) == null ? void 0 : _i.openLocalCamera());
130
+ await ((_f = roomEngine.instance) == null ? void 0 : _f.openLocalCamera());
92
131
  }
93
132
  }
94
133
  }, { immediate: true });
@@ -117,11 +156,16 @@ function useStreamContainer() {
117
156
  await ((_f = roomEngine.instance) == null ? void 0 : _f.muteLocalAudio());
118
157
  }
119
158
  }, { immediate: true });
159
+ 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}`;
120
160
  return {
161
+ currentRemoteSpeakerUserId,
162
+ currentSpeakerUserId,
121
163
  onRemoteUserEnterRoom,
122
164
  onRemoteUserLeaveRoom,
123
165
  onSeatListChanged,
124
166
  onUserAudioStateChanged,
167
+ onUserVoiceVolumeChanged,
168
+ isSameStream,
125
169
  t
126
170
  };
127
171
  }
@@ -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> = {
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
4
4
  require("./index.vue3.js");
5
5
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const StreamRegion = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-f3b29630"]]);
6
+ const StreamRegion = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-d119ad48"]]);
7
7
  exports.default = StreamRegion;
@@ -31,6 +31,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
31
31
  enlargeDomId: {},
32
32
  changeLargeStream: { type: Boolean }
33
33
  },
34
+ emits: ["room-dblclick"],
34
35
  setup(__props) {
35
36
  const roomEngine = useRoomEngine.default();
36
37
  const basicStore = basic.useBasicStore();
@@ -55,10 +56,33 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
55
56
  const isScreenStream = Vue.computed(() => props.stream.streamType === TUIRoomEngine.TUIVideoStreamType.kScreenStream);
56
57
  const userInfo = Vue.computed(() => {
57
58
  if (constants.isInnerScene) {
58
- return `${props.stream.userName} | ${props.stream.userId}` || props.stream.userId;
59
+ return `${props.stream.nameCard || props.stream.userName} | ${props.stream.userId}`;
59
60
  }
60
- return props.stream.userName || props.stream.userId;
61
+ return props.stream.nameCard || props.stream.userName || props.stream.userId;
61
62
  });
63
+ Vue.watch(
64
+ () => props.stream.hasVideoStream,
65
+ async (val) => {
66
+ var _a, _b;
67
+ if (props.stream.userId === basicStore.userId && props.stream.streamType === TUIRoomEngine.TUIVideoStreamType.kCameraStream) {
68
+ if (val) {
69
+ await Vue.nextTick();
70
+ const userIdEl = document == null ? void 0 : document.getElementById(`${playRegionDomId.value}`);
71
+ if (userIdEl) {
72
+ index$1.default.debug(`${logPrefix}watch isVideoStreamAvailable:`, props.stream.userId, userIdEl);
73
+ await ((_a = roomEngine.instance) == null ? void 0 : _a.setLocalVideoView({
74
+ view: `${playRegionDomId.value}`
75
+ }));
76
+ }
77
+ } else {
78
+ await ((_b = roomEngine.instance) == null ? void 0 : _b.setLocalVideoView({
79
+ view: null
80
+ }));
81
+ }
82
+ }
83
+ },
84
+ { immediate: true }
85
+ );
62
86
  const streamTypeToFetch = Vue.computed(() => {
63
87
  const { streamType, userId } = props.stream;
64
88
  const { kScreenStream, kCameraStream } = TUIRoomEngine.TUIVideoStreamType;
@@ -168,7 +192,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
168
192
  ref_key: "streamRegionRef",
169
193
  ref: streamRegionRef,
170
194
  class: "user-stream-container",
171
- onDblclick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("room_dblclick"))
195
+ onDblclick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("room-dblclick"))
172
196
  }, [
173
197
  isLocalScreen.value ? (Vue.openBlock(), Vue.createBlock(index$2.default, {
174
198
  key: 0,
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
4
4
  require("./index.vue3.js");
5
5
  const _pluginVue_exportHelper = require("../../../../_virtual/_plugin-vue_export-helper.js");
6
- const MasterApplyControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-5e2dbb41"]]);
6
+ const MasterApplyControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-1d9fb310"]]);
7
7
  exports.default = MasterApplyControl;
@@ -7,6 +7,12 @@ const Avatar = require("../../../common/Avatar.vue.js");
7
7
  const index = require("../../../common/base/Dialog/index.vue.js");
8
8
  const SvgIcon = require("../../../common/base/SvgIcon.vue.js");
9
9
  const Button = require("../../../common/base/Button.vue.js");
10
+ require("../../../../services/main.js");
11
+ const roomService = require("../../../../services/roomService.js");
12
+ require("../../../../locales/index.js");
13
+ require("@tencentcloud/tuiroom-engine-electron");
14
+ require("mitt");
15
+ require("../../../../services/manager/roomActionManager.js");
10
16
  const _hoisted_1 = {
11
17
  key: 0,
12
18
  class: "apply-list"
@@ -88,8 +94,8 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
88
94
  }, null, 8, ["img-src"]),
89
95
  Vue.createElementVNode("span", {
90
96
  class: "user-name",
91
- title: item.userName || item.userId
92
- }, Vue.toDisplayString(item.userName || item.userId), 9, _hoisted_6)
97
+ title: Vue.unref(roomService.roomService).getDisplayName(item)
98
+ }, Vue.toDisplayString(Vue.unref(roomService.roomService).getDisplayName(item)), 9, _hoisted_6)
93
99
  ]),
94
100
  Vue.createElementVNode("div", _hoisted_7, [
95
101
  Vue.createVNode(Button.default, {
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const index_vue_vue_type_script_setup_true_lang = require("./index.vue2.js");
4
4
  require("./index.vue3.js");
5
5
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const EndControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-8a854972"]]);
6
+ const EndControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-288c67ea"]]);
7
7
  exports.default = EndControl;
@@ -191,7 +191,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
191
191
  return Vue.openBlock(), Vue.createBlock(Option.default, {
192
192
  key: user.userId,
193
193
  value: user.userId,
194
- label: user.userName,
194
+ label: user.nameCard || user.userName,
195
195
  theme: "white"
196
196
  }, null, 8, ["value", "label"]);
197
197
  }), 128))
@@ -10,6 +10,10 @@ const useRoomEngine = require("../../../hooks/useRoomEngine.js");
10
10
  const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-electron");
11
11
  const index$1 = require("../../../utils/common/logger/index.js");
12
12
  const Message = require("../../common/base/Message/Message.js");
13
+ require("../../../services/main.js");
14
+ const roomService = require("../../../services/roomService.js");
15
+ require("mitt");
16
+ require("../../../services/manager/roomActionManager.js");
13
17
  function useEndControl() {
14
18
  const { t } = index.useI18n();
15
19
  let DialogType;
@@ -37,8 +41,8 @@ function useEndControl() {
37
41
  const showTransfer = Vue.ref(false);
38
42
  const searchName = Vue.ref("");
39
43
  const filteredList = Vue.computed(() => remoteUserList.value.filter((searchUser) => {
40
- var _a;
41
- return searchUser.userId.includes(searchName.value) || ((_a = searchUser.userName) == null ? void 0 : _a.includes(searchName.value));
44
+ var _a, _b;
45
+ return ((_a = searchUser.nameCard) == null ? void 0 : _a.includes(searchName.value)) || searchUser.userId.includes(searchName.value) || ((_b = searchUser.userName) == null ? void 0 : _b.includes(searchName.value));
42
46
  }));
43
47
  const hasNoData = Vue.computed(() => filteredList.value.length === 0);
44
48
  const isMasterWithOneRemoteUser = Vue.computed(() => remoteUserList.value.length === 1);
@@ -162,9 +166,17 @@ function useEndControl() {
162
166
  var _a;
163
167
  (_a = roomEngine.instance) == null ? void 0 : _a.on(TUIRoomEngine.TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);
164
168
  });
169
+ const handleMount = () => {
170
+ const { userRole } = roomService.roomService.roomStore.localUser;
171
+ if (userRole === TUIRoomEngine.TUIRole.kRoomOwner || userRole === TUIRoomEngine.TUIRole.kAdministrator) {
172
+ handleUpdateSeatApplicationList();
173
+ }
174
+ };
175
+ roomService.roomService.lifeCycleManager.on("mount", handleMount);
165
176
  Vue.onUnmounted(() => {
166
177
  var _a;
167
178
  (_a = roomEngine.instance) == null ? void 0 : _a.off(TUIRoomEngine.TUIRoomEvents.onUserRoleChanged, onUserRoleChanged);
179
+ roomService.roomService.lifeCycleManager.off("mount", handleMount);
168
180
  });
169
181
  return {
170
182
  t,
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const Index_vue_vue_type_script_setup_true_lang = require("./Index.vue2.js");
4
4
  require("./Index.vue3.js");
5
5
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const ScreenShareControl = /* @__PURE__ */ _pluginVue_exportHelper.default(Index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-2dd9ae04"]]);
6
+ const ScreenShareControl = /* @__PURE__ */ _pluginVue_exportHelper.default(Index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-9e5b6506"]]);
7
7
  exports.default = ScreenShareControl;
@@ -23,7 +23,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
23
23
  setup(__props) {
24
24
  const { t } = index.useI18n();
25
25
  const roomStore = room.useRoomStore();
26
- const { isAudience, hasOtherScreenShare } = pinia.storeToRefs(roomStore);
26
+ const { isAudience, hasOtherScreenShare, isGeneralUser, isScreenShareDisableForAllUser } = pinia.storeToRefs(roomStore);
27
27
  const roomEngine = useRoomEngine.default();
28
28
  const btnStopRef = Vue.ref();
29
29
  const isSharing = Vue.ref(false);
@@ -56,6 +56,14 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
56
56
  });
57
57
  return;
58
58
  }
59
+ if (isGeneralUser.value && isScreenShareDisableForAllUser.value) {
60
+ Message.default({
61
+ type: "warning",
62
+ message: t("Failed to initiate screen sharing, currently only host/admin can share screen."),
63
+ duration: message.MESSAGE_DURATION.LONG
64
+ });
65
+ return;
66
+ }
59
67
  if (!window.isHasScreen && process.platform === "darwin") {
60
68
  showPermissionVisible.value = true;
61
69
  }
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const VideoControl_vue_vue_type_script_setup_true_lang = require("./VideoControl.vue2.js");
4
4
  require("./VideoControl.vue3.js");
5
5
  const _pluginVue_exportHelper = require("../../_virtual/_plugin-vue_export-helper.js");
6
- const VideoControl = /* @__PURE__ */ _pluginVue_exportHelper.default(VideoControl_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-4da95364"]]);
6
+ const VideoControl = /* @__PURE__ */ _pluginVue_exportHelper.default(VideoControl_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-5c3d6ed6"]]);
7
7
  exports.default = VideoControl;