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