@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
@@ -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 MemberControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-4309b988"]]);
6
+ const MemberControl = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-978d269a"]]);
7
7
  exports.default = MemberControl;
@@ -4,15 +4,15 @@ const Vue = require("vue");
4
4
  const index = require("../../../locales/index.js");
5
5
  const Button = require("../../common/base/Button.vue.js");
6
6
  const index$1 = require("../../common/base/Dialog/index.vue.js");
7
+ const index$2 = require("../../common/base/Input/index.vue.js");
7
8
  const SvgIcon = require("../../common/base/SvgIcon.vue.js");
8
9
  const ArrowUpIcon = require("../../common/icons/ArrowUpIcon.vue.js");
9
10
  const useMemberControlHooks = require("./useMemberControlHooks.js");
10
- const _hoisted_1 = {
11
- key: 0,
12
- class: "member-control-container"
13
- };
11
+ const useMemberItemHooks = require("../MemberItem/useMemberItemHooks.js");
12
+ const _hoisted_1 = { class: "member-control-container" };
14
13
  const _hoisted_2 = ["onClick"];
15
14
  const _hoisted_3 = { class: "operate-text" };
15
+ const _hoisted_4 = { class: "dialog-content" };
16
16
  const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
17
17
  __name: "index",
18
18
  props: {
@@ -24,14 +24,17 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
24
24
  const { t } = index.useI18n();
25
25
  const {
26
26
  controlList,
27
- isGeneralUser,
28
27
  handleCancelDialog,
29
28
  handleAction,
30
29
  isDialogVisible,
31
- dialogData
30
+ dialogData,
31
+ tempUserName
32
32
  } = useMemberControlHooks.default(props);
33
+ const { isCanOperateMySelf } = useMemberItemHooks.default(props.userInfo);
33
34
  const singleControl = Vue.computed(() => controlList.value[0]);
34
- const moreControlList = Vue.computed(() => controlList.value.slice(1));
35
+ const moreControlList = Vue.computed(() => {
36
+ return isCanOperateMySelf ? controlList.value : controlList.value.slice(1);
37
+ });
35
38
  const dropdownClass = Vue.ref("down");
36
39
  const moreBtnRef = Vue.ref();
37
40
  const operateListRef = Vue.ref();
@@ -75,17 +78,21 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
75
78
  }
76
79
  }
77
80
  return (_ctx, _cache) => {
78
- return !Vue.unref(isGeneralUser) ? (Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
79
- Vue.createVNode(Button.default, {
81
+ return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
82
+ !Vue.unref(isCanOperateMySelf) ? (Vue.openBlock(), Vue.createBlock(Button.default, {
83
+ key: 0,
80
84
  class: "button",
81
85
  size: "default",
82
86
  onClick: _cache[0] || (_cache[0] = ($event) => singleControl.value.func(props.userInfo))
83
87
  }, {
84
- default: Vue.withCtx(() => [
85
- Vue.createTextVNode(Vue.toDisplayString(singleControl.value.title), 1)
86
- ]),
88
+ default: Vue.withCtx(() => {
89
+ var _a;
90
+ return [
91
+ Vue.createTextVNode(Vue.toDisplayString((_a = singleControl.value) == null ? void 0 : _a.title), 1)
92
+ ];
93
+ }),
87
94
  _: 1
88
- }),
95
+ })) : Vue.createCommentVNode("", true),
89
96
  Vue.createElementVNode("div", {
90
97
  ref_key: "moreBtnRef",
91
98
  ref: moreBtnRef,
@@ -130,7 +137,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
130
137
  ], 512),
131
138
  Vue.createVNode(index$1.default, {
132
139
  modelValue: Vue.unref(isDialogVisible),
133
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => Vue.isRef(isDialogVisible) ? isDialogVisible.value = $event : null),
140
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => Vue.isRef(isDialogVisible) ? isDialogVisible.value = $event : null),
134
141
  title: Vue.unref(dialogData).title,
135
142
  modal: true,
136
143
  width: "480px",
@@ -141,13 +148,14 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
141
148
  footer: Vue.withCtx(() => [
142
149
  Vue.createVNode(Button.default, {
143
150
  size: "default",
144
- onClick: _cache[1] || (_cache[1] = ($event) => Vue.unref(handleAction)(props.userInfo))
151
+ onClick: _cache[2] || (_cache[2] = ($event) => Vue.unref(handleAction)(props.userInfo)),
152
+ disabled: Vue.unref(tempUserName).length === 0
145
153
  }, {
146
154
  default: Vue.withCtx(() => [
147
155
  Vue.createTextVNode(Vue.toDisplayString(Vue.unref(dialogData).confirmText), 1)
148
156
  ]),
149
157
  _: 1
150
- }),
158
+ }, 8, ["disabled"]),
151
159
  Vue.createVNode(Button.default, {
152
160
  class: "cancel",
153
161
  size: "default",
@@ -161,11 +169,20 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
161
169
  }, 8, ["onClick"])
162
170
  ]),
163
171
  default: Vue.withCtx(() => [
164
- Vue.createElementVNode("span", null, Vue.toDisplayString(Vue.unref(dialogData).content), 1)
172
+ Vue.createElementVNode("div", _hoisted_4, [
173
+ Vue.createElementVNode("span", null, Vue.toDisplayString(Vue.unref(dialogData).content), 1),
174
+ Vue.unref(dialogData).showInput ? (Vue.openBlock(), Vue.createBlock(index$2.default, {
175
+ key: 0,
176
+ modelValue: Vue.unref(tempUserName),
177
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => Vue.isRef(tempUserName) ? tempUserName.value = $event : null),
178
+ class: "dialog-input",
179
+ placeholder: Vue.unref(t)("Please input user name")
180
+ }, null, 8, ["modelValue", "placeholder"])) : Vue.createCommentVNode("", true)
181
+ ])
165
182
  ]),
166
183
  _: 1
167
184
  }, 8, ["modelValue", "title", "before-close"])
168
- ])) : Vue.createCommentVNode("", true);
185
+ ]);
169
186
  };
170
187
  }
171
188
  });
@@ -1,7 +1,7 @@
1
1
  import { UserInfo } from '../../../stores/room';
2
2
  import { Ref } from 'vue';
3
3
 
4
- type ActionType = 'transferOwner' | 'kickUser' | '';
4
+ type ActionType = 'transferOwner' | 'kickUser' | 'changeUserNameCard' | '';
5
5
  export default function useMemberControl(props?: any): {
6
6
  props: any;
7
7
  isMe: import('vue').ComputedRef<boolean>;
@@ -16,6 +16,11 @@ export default function useMemberControl(props?: any): {
16
16
  content: string;
17
17
  confirmText: string;
18
18
  actionType: ActionType;
19
+ showInput: boolean;
19
20
  }>;
21
+ tempUserName: Ref<any>;
22
+ isShowInput: Ref<boolean>;
23
+ editorInputEle: Ref<any>;
24
+ editorInputEleContainer: Ref<any>;
20
25
  };
21
26
  export {};
@@ -18,23 +18,37 @@ const OffStageIcon = require("../../common/icons/OffStageIcon.vue.js");
18
18
  const TransferOwnerIcon = require("../../common/icons/TransferOwnerIcon.vue.js");
19
19
  const SetAdminIcon = require("../../common/icons/SetAdminIcon.vue.js");
20
20
  const RevokeAdminIcon = require("../../common/icons/RevokeAdminIcon.vue.js");
21
+ const EditNameCardIcon = require("../../common/icons/EditNameCardIcon.vue.js");
21
22
  const pinia = require("pinia");
22
23
  const Message = require("../../common/base/Message/Message.js");
23
24
  const message = require("../../../constants/message.js");
25
+ const useMitt = require("../../../hooks/useMitt.js");
26
+ const useMemberItemHooks = require("../MemberItem/useMemberItemHooks.js");
27
+ require("../../../services/main.js");
28
+ const roomService = require("../../../services/roomService.js");
29
+ require("mitt");
30
+ require("../../../services/manager/roomActionManager.js");
31
+ const environment = require("../../../utils/environment.js");
32
+ const utils = require("../../../utils/utils.js");
24
33
  function useMemberControl(props) {
25
34
  const roomEngine = useRoomEngine.default();
26
35
  const { t } = index.useI18n();
27
36
  const basicStore = basic.useBasicStore();
28
37
  const roomStore = room.useRoomStore();
29
38
  const isDialogVisible = Vue.ref(false);
39
+ const isShowInput = Vue.ref(false);
40
+ const editorInputEle = Vue.ref();
41
+ const editorInputEleContainer = Vue.ref();
42
+ const tempUserName = Vue.ref(props.userInfo.nameCard || props.userInfo.userName);
30
43
  const dialogData = Vue.ref({
31
44
  title: "",
32
45
  content: "",
33
46
  confirmText: "",
34
- actionType: ""
47
+ actionType: "",
48
+ showInput: false
35
49
  });
36
- const kickOffDialogContent = Vue.computed(() => t("whether to kick sb off the room", { name: props.userInfo.userName || props.userInfo.userId }));
37
- const transferOwnerTitle = Vue.computed(() => t("Transfer the roomOwner to sb", { name: props.userInfo.userName || props.userInfo.userId }));
50
+ const kickOffDialogContent = Vue.computed(() => t("whether to kick sb off the room", { name: roomService.roomService.getDisplayName(props.userInfo) }));
51
+ const transferOwnerTitle = Vue.computed(() => t("Transfer the roomOwner to sb", { name: roomService.roomService.getDisplayName(props.userInfo) }));
38
52
  const {
39
53
  isFreeSpeakMode,
40
54
  isSpeakAfterTakingSeatMode,
@@ -50,10 +64,14 @@ function useMemberControl(props) {
50
64
  cancelInviteUserOnStage,
51
65
  kickUserOffStage
52
66
  } = useMasterApplyControl.default();
67
+ const { isCanOperateMySelf } = useMemberItemHooks.default(props.userInfo);
53
68
  const isMe = Vue.computed(() => basicStore.userId === props.userInfo.userId);
54
69
  const isTargetUserAnchor = Vue.computed(() => props.userInfo.onSeat === true);
55
70
  const isTargetUserAudience = Vue.computed(() => props.userInfo.onSeat !== true);
56
71
  const controlList = Vue.computed(() => {
72
+ if (isCanOperateMySelf.value) {
73
+ return [changeUserNameCard.value];
74
+ }
57
75
  const agreeOrDenyStageList = props.userInfo.isUserApplyingToAnchor ? [agreeOnStage.value, denyOnStage.value] : [];
58
76
  const inviteStageList = isTargetUserAudience.value && !props.userInfo.isUserApplyingToAnchor ? [inviteOnStage.value] : [];
59
77
  const onStageControlList = isTargetUserAnchor.value ? [audioControl.value, videoControl.value, makeOffStage.value] : [];
@@ -65,12 +83,14 @@ function useMemberControl(props) {
65
83
  chatControl.value,
66
84
  setOrRevokeAdmin.value,
67
85
  transferOwner.value,
68
- kickUser.value
86
+ kickUser.value,
87
+ changeUserNameCard.value
69
88
  ],
70
89
  [TUIRoomEngine.TUIRole.kAdministrator]: [
71
90
  audioControl.value,
72
91
  videoControl.value,
73
- chatControl.value
92
+ chatControl.value,
93
+ changeUserNameCard.value
74
94
  ]
75
95
  },
76
96
  speakAfterTakeSeat: {
@@ -81,13 +101,15 @@ function useMemberControl(props) {
81
101
  setOrRevokeAdmin.value,
82
102
  transferOwner.value,
83
103
  chatControl.value,
84
- kickUser.value
104
+ kickUser.value,
105
+ changeUserNameCard.value
85
106
  ],
86
107
  [TUIRoomEngine.TUIRole.kAdministrator]: [
87
108
  ...inviteStageList,
88
109
  ...onStageControlList,
89
110
  ...agreeOrDenyStageList,
90
- chatControl.value
111
+ chatControl.value,
112
+ changeUserNameCard.value
91
113
  ]
92
114
  }
93
115
  };
@@ -147,6 +169,12 @@ function useMemberControl(props) {
147
169
  }));
148
170
  const denyOnStage = Vue.computed(() => ({ key: "denyOnStage", icon: DenyOnStageIcon.default, title: t("Refuse stage"), func: denyUserOnStage }));
149
171
  const makeOffStage = Vue.computed(() => ({ key: "makeOffStage", icon: OffStageIcon.default, title: t("Step down"), func: kickUserOffStage }));
172
+ const changeUserNameCard = Vue.computed(() => ({
173
+ key: "changeUserNameCard",
174
+ icon: EditNameCardIcon.default,
175
+ title: t("change name"),
176
+ func: () => handleOpenDialog("changeUserNameCard")
177
+ }));
150
178
  async function toggleInviteUserOnStage(userInfo) {
151
179
  const { isInvitingUserToAnchor } = userInfo;
152
180
  if (isInvitingUserToAnchor) {
@@ -174,7 +202,7 @@ function useMemberControl(props) {
174
202
  if (userInfo.isRequestingUserOpenMic) {
175
203
  Message.default({
176
204
  type: "info",
177
- message: `${t("An invitation to open the microphone has been sent to sb.", { name: userInfo.userName || userInfo.userId })}`,
205
+ message: `${t("An invitation to open the microphone has been sent to sb.", { name: roomService.roomService.getDisplayName(userInfo) })}`,
178
206
  duration: message.MESSAGE_DURATION.NORMAL
179
207
  });
180
208
  return;
@@ -201,7 +229,7 @@ function useMemberControl(props) {
201
229
  }));
202
230
  Message.default({
203
231
  type: "info",
204
- message: `${t("An invitation to open the microphone has been sent to sb.", { name: userInfo.userName || userInfo.userId })}`,
232
+ message: `${t("An invitation to open the microphone has been sent to sb.", { name: roomService.roomService.getDisplayName(userInfo) })}`,
205
233
  duration: message.MESSAGE_DURATION.NORMAL
206
234
  });
207
235
  if (request && request.requestId) {
@@ -220,7 +248,7 @@ function useMemberControl(props) {
220
248
  if (userInfo.isRequestingUserOpenCamera) {
221
249
  Message.default({
222
250
  type: "info",
223
- message: `${t("An invitation to open the camera has been sent to sb.", { name: userInfo.userName || userInfo.userId })}`,
251
+ message: `${t("An invitation to open the camera has been sent to sb.", { name: roomService.roomService.getDisplayName(userInfo) })}`,
224
252
  duration: message.MESSAGE_DURATION.NORMAL
225
253
  });
226
254
  return;
@@ -247,7 +275,7 @@ function useMemberControl(props) {
247
275
  }));
248
276
  Message.default({
249
277
  type: "info",
250
- message: `${t("An invitation to open the camera has been sent to sb.", { name: userInfo.userName || userInfo.userId })}`,
278
+ message: `${t("An invitation to open the camera has been sent to sb.", { name: roomService.roomService.getDisplayName(userInfo) })}`,
251
279
  duration: message.MESSAGE_DURATION.NORMAL
252
280
  });
253
281
  if (request && request.requestId) {
@@ -277,12 +305,16 @@ function useMemberControl(props) {
277
305
  await ((_a = roomEngine.instance) == null ? void 0 : _a.kickRemoteUserOutOfRoom({
278
306
  userId: userInfo.userId
279
307
  }));
308
+ roomStore.removeRemoteUser(userInfo.userId);
280
309
  }
281
310
  async function handleTransferOwner(userInfo) {
282
311
  var _a, _b;
283
312
  const roomInfo = await ((_a = roomEngine.instance) == null ? void 0 : _a.fetchRoomInfo());
284
313
  if ((roomInfo == null ? void 0 : roomInfo.roomOwner) === roomStore.localUser.userId) {
285
314
  try {
315
+ if (roomStore.localUser.hasScreenStream) {
316
+ useMitt.default.emit("ScreenShare:stopScreenShare");
317
+ }
286
318
  await ((_b = roomEngine.instance) == null ? void 0 : _b.changeUserRole({
287
319
  userId: userInfo.userId,
288
320
  userRole: TUIRoomEngine.TUIRole.kRoomOwner
@@ -290,7 +322,7 @@ function useMemberControl(props) {
290
322
  roomStore.setMasterUserId(userInfo.userId);
291
323
  Message.default({
292
324
  type: "success",
293
- message: t("The room owner has been transferred to sb", { name: userInfo.userName || userInfo.userId }),
325
+ message: t("The room owner has been transferred to sb", { name: roomService.roomService.getDisplayName(userInfo) }),
294
326
  duration: message.MESSAGE_DURATION.NORMAL
295
327
  });
296
328
  } catch (error) {
@@ -303,7 +335,7 @@ function useMemberControl(props) {
303
335
  }
304
336
  }
305
337
  async function handleSetOrRevokeAdmin(userInfo) {
306
- var _a;
338
+ var _a, _b;
307
339
  const newRole = userInfo.userRole === TUIRoomEngine.TUIRole.kGeneralUser ? TUIRoomEngine.TUIRole.kAdministrator : TUIRoomEngine.TUIRole.kGeneralUser;
308
340
  await ((_a = roomEngine.instance) == null ? void 0 : _a.changeUserRole({
309
341
  userId: userInfo.userId,
@@ -313,28 +345,84 @@ function useMemberControl(props) {
313
345
  const tipMessage = newRole === TUIRoomEngine.TUIRole.kAdministrator ? `${t("sb has been set as administrator", { name: updatedUserName })}` : `${t("The administrator status of sb has been withdrawn", { name: updatedUserName })}`;
314
346
  Message.default({ type: "success", message: tipMessage });
315
347
  roomStore.setRemoteUserRole(userInfo.userId, newRole);
348
+ if (newRole === TUIRoomEngine.TUIRole.kGeneralUser && userInfo.hasScreenStream) {
349
+ await ((_b = roomEngine.instance) == null ? void 0 : _b.closeRemoteDeviceByAdmin({
350
+ userId: userInfo.userId,
351
+ device: TUIRoomEngine.TUIMediaDevice.kScreen
352
+ }));
353
+ }
316
354
  }
317
355
  function handleOpenDialog(action) {
318
- isDialogVisible.value = true;
356
+ var _a;
319
357
  switch (action) {
320
358
  case "kickUser":
359
+ isDialogVisible.value = true;
321
360
  dialogData.value = {
322
361
  title: t("Note"),
323
362
  content: kickOffDialogContent.value,
324
363
  confirmText: t("Confirm"),
325
- actionType: action
364
+ actionType: action,
365
+ showInput: false
326
366
  };
327
367
  break;
328
368
  case "transferOwner":
369
+ isDialogVisible.value = true;
329
370
  dialogData.value = {
330
371
  title: transferOwnerTitle.value,
331
372
  content: t("After transfer the room owner, you will become a general user"),
332
373
  confirmText: t("Confirm transfer"),
333
- actionType: action
374
+ actionType: action,
375
+ showInput: false
376
+ };
377
+ break;
378
+ case "changeUserNameCard":
379
+ if (environment.isMobile) {
380
+ isShowInput.value = true;
381
+ (_a = document == null ? void 0 : document.body) == null ? void 0 : _a.appendChild(editorInputEleContainer.value);
382
+ } else {
383
+ isDialogVisible.value = true;
384
+ }
385
+ dialogData.value = {
386
+ title: t("change name"),
387
+ content: "",
388
+ confirmText: t("Confirm"),
389
+ actionType: action,
390
+ showInput: true
334
391
  };
335
392
  break;
336
393
  }
337
394
  }
395
+ const nameCardCheck = () => {
396
+ const result = utils.calculateByteLength(tempUserName.value) <= 32;
397
+ !result && Message.default({
398
+ type: "warning",
399
+ message: t("The user name cannot exceed 32 characters"),
400
+ duration: message.MESSAGE_DURATION.NORMAL
401
+ });
402
+ return result;
403
+ };
404
+ async function handleChangeUserNameCard(userInfo) {
405
+ var _a;
406
+ if (!nameCardCheck())
407
+ return;
408
+ try {
409
+ await ((_a = roomEngine.instance) == null ? void 0 : _a.changeUserNameCard({
410
+ userId: userInfo.userId,
411
+ nameCard: tempUserName.value
412
+ }));
413
+ Message.default({
414
+ type: "success",
415
+ message: t("Name changed successfully"),
416
+ duration: message.MESSAGE_DURATION.NORMAL
417
+ });
418
+ } catch (error) {
419
+ Message.default({
420
+ type: "error",
421
+ message: t("change name failed, please try again."),
422
+ duration: message.MESSAGE_DURATION.NORMAL
423
+ });
424
+ }
425
+ }
338
426
  function handleAction(userInfo) {
339
427
  switch (dialogData.value.actionType) {
340
428
  case "kickUser":
@@ -343,10 +431,14 @@ function useMemberControl(props) {
343
431
  case "transferOwner":
344
432
  handleTransferOwner(userInfo);
345
433
  break;
434
+ case "changeUserNameCard":
435
+ handleChangeUserNameCard(userInfo);
436
+ isShowInput.value = false;
346
437
  }
347
438
  isDialogVisible.value = false;
348
439
  }
349
440
  function handleCancelDialog() {
441
+ tempUserName.value = props.userInfo.nameCard || props.userInfo.userName;
350
442
  isDialogVisible.value = false;
351
443
  }
352
444
  return {
@@ -358,7 +450,11 @@ function useMemberControl(props) {
358
450
  handleCancelDialog,
359
451
  handleAction,
360
452
  isDialogVisible,
361
- dialogData
453
+ dialogData,
454
+ tempUserName,
455
+ isShowInput,
456
+ editorInputEle,
457
+ editorInputEleContainer
362
458
  };
363
459
  }
364
460
  exports.default = useMemberControl;
@@ -4,4 +4,5 @@ export default function useMemberItem(userInfo: UserInfo): {
4
4
  isMemberControlAccessible: import('vue').ComputedRef<any>;
5
5
  openMemberControl: () => void;
6
6
  closeMemberControl: () => void;
7
+ isCanOperateMySelf: import('vue').ComputedRef<boolean>;
7
8
  };
@@ -11,12 +11,13 @@ function useMemberItem(userInfo) {
11
11
  const isCanOperateCurrentMember = Vue.computed(() => {
12
12
  const isTargetUserRoomOwner = userInfo.userRole === TUIRoomEngine.TUIRole.kRoomOwner;
13
13
  const isTargetUserGeneral = userInfo.userRole === TUIRoomEngine.TUIRole.kGeneralUser;
14
- return isMaster.value && !isTargetUserRoomOwner || isAdmin.value && isTargetUserGeneral;
14
+ const isTargetUserMySelf = userInfo.userId === roomStore.localUser.userId;
15
+ return isMaster.value && !isTargetUserRoomOwner || isAdmin.value && isTargetUserGeneral || isTargetUserMySelf;
15
16
  });
16
- const isMemberControlAccessible = Vue.computed(() => (
17
- // Only the homeowner or administrator can open the control panel
18
- userInfo.userId === showUserId.value && isCanOperateCurrentMember.value
19
- ));
17
+ const isCanOperateMySelf = Vue.computed(() => {
18
+ return userInfo.userId === roomStore.localUser.userId;
19
+ });
20
+ const isMemberControlAccessible = Vue.computed(() => userInfo.userId === showUserId.value && (isCanOperateMySelf.value || isCanOperateCurrentMember.value));
20
21
  function openMemberControl() {
21
22
  showUserId.value = userInfo.userId;
22
23
  }
@@ -26,7 +27,8 @@ function useMemberItem(userInfo) {
26
27
  return {
27
28
  isMemberControlAccessible,
28
29
  openMemberControl,
29
- closeMemberControl
30
+ closeMemberControl,
31
+ isCanOperateMySelf
30
32
  };
31
33
  }
32
34
  exports.default = useMemberItem;
@@ -3,5 +3,5 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const MemberInfo_vue_vue_type_script_setup_true_lang = require("./MemberInfo.vue2.js");
4
4
  require("./MemberInfo.vue3.js");
5
5
  const _pluginVue_exportHelper = require("../../../_virtual/_plugin-vue_export-helper.js");
6
- const MemberInfo = /* @__PURE__ */ _pluginVue_exportHelper.default(MemberInfo_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-18d628a6"]]);
6
+ const MemberInfo = /* @__PURE__ */ _pluginVue_exportHelper.default(MemberInfo_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-7b3ca6c8"]]);
7
7
  exports.default = MemberInfo;
@@ -16,6 +16,10 @@ const index = require("../../../locales/index.js");
16
16
  const environment = require("../../../utils/environment.js");
17
17
  const UserIcon = require("../../common/icons/UserIcon.vue.js");
18
18
  const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-electron");
19
+ require("../../../services/main.js");
20
+ const roomService = require("../../../services/roomService.js");
21
+ require("mitt");
22
+ require("../../../services/manager/roomActionManager.js");
19
23
  const _hoisted_1 = { class: "user-name" };
20
24
  const _hoisted_2 = { class: "role-info" };
21
25
  const _hoisted_3 = {
@@ -85,7 +89,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
85
89
  class: "avatar-url",
86
90
  "img-src": _ctx.userInfo.avatarUrl
87
91
  }, null, 8, ["img-src"]),
88
- Vue.createElementVNode("div", _hoisted_1, Vue.toDisplayString(_ctx.userInfo.userName || _ctx.userInfo.userId), 1),
92
+ Vue.createElementVNode("div", _hoisted_1, Vue.toDisplayString(Vue.unref(roomService.roomService).getDisplayName(_ctx.userInfo)), 1),
89
93
  Vue.createElementVNode("div", _hoisted_2, [
90
94
  isTargetUserRoomOwner.value || isTargetUserAdmin.value ? (Vue.openBlock(), Vue.createBlock(SvgIcon.default, {
91
95
  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 ManageMember = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-392914b8"]]);
6
+ const ManageMember = /* @__PURE__ */ _pluginVue_exportHelper.default(index_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-efce71bc"]]);
7
7
  exports.default = ManageMember;
@@ -11,6 +11,8 @@ const index$1 = require("../common/base/Dialog/index.vue.js");
11
11
  const room = require("../../stores/room.js");
12
12
  const useIndexHooks = require("./useIndexHooks.js");
13
13
  const Button = require("../common/base/Button.vue.js");
14
+ const ArrowUpIcon = require("../common/icons/ArrowUpIcon.vue.js");
15
+ const vClickOutside = require("../../directives/vClickOutside.js");
14
16
  const _hoisted_1 = { class: "manage-member-container" };
15
17
  const _hoisted_2 = { class: "manage-member-header" };
16
18
  const _hoisted_3 = { class: "search-container" };
@@ -29,14 +31,18 @@ const _hoisted_9 = {
29
31
  key: 2,
30
32
  class: "global-setting"
31
33
  };
34
+ const _hoisted_10 = { class: "more-container" };
35
+ const _hoisted_11 = {
36
+ class: /* @__PURE__ */ Vue.normalizeClass(["tui-theme-white", "drop-down"])
37
+ };
38
+ const _hoisted_12 = ["onClick"];
39
+ const _hoisted_13 = { class: "operate-text" };
32
40
  const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
33
41
  __name: "index",
34
42
  setup(__props) {
35
43
  const roomStore = room.useRoomStore();
36
44
  const {
37
45
  applyToAnchorList,
38
- isMicrophoneDisableForAllUser,
39
- isCameraDisableForAllUser,
40
46
  isGeneralUser
41
47
  } = pinia.storeToRefs(roomStore);
42
48
  const {
@@ -55,8 +61,18 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
55
61
  filteredUserList,
56
62
  isOnStateTabActive,
57
63
  handleToggleStaged,
58
- applyToAnchorUserContent
64
+ applyToAnchorUserContent,
65
+ audioManageInfo,
66
+ videoManageInfo,
67
+ toggleClickMoreBtn,
68
+ showMoreControl,
69
+ moreControlList
59
70
  } = useIndexHooks.default();
71
+ const handleShowMoreControl = () => {
72
+ if (showMoreControl.value) {
73
+ showMoreControl.value = false;
74
+ }
75
+ };
60
76
  return (_ctx, _cache) => {
61
77
  return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
62
78
  Vue.createElementVNode("div", _hoisted_2, [
@@ -124,7 +140,7 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
124
140
  onClick: _cache[3] || (_cache[3] = ($event) => Vue.unref(toggleManageAllMember)(Vue.unref(ManageControlType).AUDIO))
125
141
  }, {
126
142
  default: Vue.withCtx(() => [
127
- Vue.createTextVNode(Vue.toDisplayString(Vue.unref(isMicrophoneDisableForAllUser) ? Vue.unref(t)("Enable all audios") : Vue.unref(t)("Disable all audios")), 1)
143
+ Vue.createTextVNode(Vue.toDisplayString(Vue.unref(audioManageInfo)), 1)
128
144
  ]),
129
145
  _: 1
130
146
  }),
@@ -134,10 +150,45 @@ const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
134
150
  onClick: _cache[4] || (_cache[4] = ($event) => Vue.unref(toggleManageAllMember)(Vue.unref(ManageControlType).VIDEO))
135
151
  }, {
136
152
  default: Vue.withCtx(() => [
137
- Vue.createTextVNode(Vue.toDisplayString(Vue.unref(isCameraDisableForAllUser) ? Vue.unref(t)("Enable all videos") : Vue.unref(t)("Disable all videos")), 1)
153
+ Vue.createTextVNode(Vue.toDisplayString(Vue.unref(videoManageInfo)), 1)
138
154
  ]),
139
155
  _: 1
140
- })
156
+ }),
157
+ Vue.withDirectives((Vue.openBlock(), Vue.createElementBlock("div", _hoisted_10, [
158
+ Vue.createVNode(Button.default, {
159
+ class: "button",
160
+ size: "default",
161
+ onClick: Vue.unref(toggleClickMoreBtn)
162
+ }, {
163
+ default: Vue.withCtx(() => [
164
+ Vue.createTextVNode(Vue.toDisplayString(Vue.unref(t)("More")) + " ", 1),
165
+ Vue.createVNode(SvgIcon.default, {
166
+ size: "12",
167
+ class: Vue.normalizeClass(["more-arrow", Vue.unref(showMoreControl) ? "up" : "down"]),
168
+ icon: ArrowUpIcon.default
169
+ }, null, 8, ["class"])
170
+ ]),
171
+ _: 1
172
+ }, 8, ["onClick"]),
173
+ Vue.withDirectives(Vue.createElementVNode("div", _hoisted_11, [
174
+ (Vue.openBlock(true), Vue.createElementBlock(Vue.Fragment, null, Vue.renderList(Vue.unref(moreControlList), (item) => {
175
+ return Vue.openBlock(), Vue.createElementBlock("div", {
176
+ key: item.type,
177
+ class: "user-operate-item",
178
+ onClick: ($event) => item.func(item.type)
179
+ }, [
180
+ Vue.createVNode(SvgIcon.default, {
181
+ icon: item.icon
182
+ }, null, 8, ["icon"]),
183
+ Vue.createElementVNode("span", _hoisted_13, Vue.toDisplayString(item.title), 1)
184
+ ], 8, _hoisted_12);
185
+ }), 128))
186
+ ], 512), [
187
+ [Vue.vShow, Vue.unref(showMoreControl)]
188
+ ])
189
+ ])), [
190
+ [Vue.unref(vClickOutside.default), handleShowMoreControl]
191
+ ])
141
192
  ])) : Vue.createCommentVNode("", true),
142
193
  Vue.createVNode(index$1.default, {
143
194
  modelValue: Vue.unref(showManageAllUserDialog),