fcr-ui-scene 3.4.5 → 3.5.1

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 (421) hide show
  1. package/lib/base.js +4 -1
  2. package/lib/creator.d.ts +4 -1
  3. package/lib/creator.js +66 -3
  4. package/lib/electron/app.js +0 -3
  5. package/lib/electron/bootstrap-dev.js +2 -0
  6. package/lib/electron/bootstrap-sdk.js +2 -0
  7. package/lib/electron/main.js +14 -3
  8. package/lib/electron/plugins/devtool-shortcut.js +5 -0
  9. package/lib/electron/plugins/screenshot.js +4 -1
  10. package/lib/modules/action-bar/components/apps/app-item/index.css +3 -3
  11. package/lib/modules/action-bar/components/apps/app-item/index.js +35 -24
  12. package/lib/modules/action-bar/components/apps/app-list.d.ts +3 -0
  13. package/lib/modules/action-bar/components/apps/app-list.js +45 -0
  14. package/lib/modules/action-bar/components/apps/index.css +1 -0
  15. package/lib/modules/action-bar/components/apps/index.js +7 -4
  16. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +10 -2
  17. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +10 -6
  18. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +1 -1
  19. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +2 -2
  20. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +1 -1
  21. package/lib/modules/action-bar/components/apps/useInterpreter.js +6 -6
  22. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +1 -1
  23. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +2 -2
  24. package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +10 -0
  25. package/lib/modules/action-bar/components/apps/useWidgetList.js +38 -0
  26. package/lib/modules/action-bar/components/chat/index.css +8 -0
  27. package/lib/modules/action-bar/components/chat/index.js +2 -1
  28. package/lib/modules/action-bar/components/collapse/index.d.ts +8 -6
  29. package/lib/modules/action-bar/components/collapse/index.js +60 -74
  30. package/lib/modules/action-bar/components/interpreter/index.js +3 -3
  31. package/lib/modules/action-bar/components/item/index.js +1 -1
  32. package/lib/modules/action-bar/components/more/index.js +13 -7
  33. package/lib/modules/action-bar/components/notification-bar/index.d.ts +1 -1
  34. package/lib/modules/action-bar/components/notification-bar/index.js +13 -6
  35. package/lib/modules/action-bar/components/participants/index.js +1 -1
  36. package/lib/modules/action-bar/components/screen-share/index.js +1 -1
  37. package/lib/modules/action-bar/components/screen-share/submenu.js +55 -18
  38. package/lib/modules/action-bar/components/security/index.js +8 -2
  39. package/lib/modules/action-bar/components/trigger-output-language/index.js +68 -55
  40. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +35 -18
  41. package/lib/modules/action-bar/index.css +8 -0
  42. package/lib/modules/action-bar/index.d.ts +8 -0
  43. package/lib/modules/action-bar/index.js +6 -3
  44. package/lib/modules/action-bar/store.d.ts +37 -22
  45. package/lib/modules/action-bar/store.js +275 -375
  46. package/lib/modules/action-bar/types.d.ts +8 -13
  47. package/lib/modules/action-bar/view.js +3 -8
  48. package/lib/modules/audio-stream/index.d.ts +6 -1
  49. package/lib/modules/audio-stream/index.js +77 -11
  50. package/lib/modules/chat/chat-room-store.d.ts +4 -7
  51. package/lib/modules/chat/chat-room-store.js +39 -62
  52. package/lib/modules/chat/components/chat-action/index.js +2 -2
  53. package/lib/modules/chat/components/chat-bar/index.css +4 -0
  54. package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
  55. package/lib/modules/chat/components/chat-bar/index.js +18 -16
  56. package/lib/modules/chat/components/chat-select/index.js +16 -147
  57. package/lib/modules/chat/components/chat-select/select-input/index.d.ts +7 -0
  58. package/lib/modules/chat/components/chat-select/select-input/index.js +35 -0
  59. package/lib/modules/chat/components/chat-select/select-item/index.d.ts +12 -0
  60. package/lib/modules/chat/components/chat-select/select-item/index.js +153 -0
  61. package/lib/modules/chat/components/chat-tabs/index.d.ts +2 -0
  62. package/lib/modules/chat/components/chat-tabs/index.js +61 -0
  63. package/lib/modules/chat/components/message-list/chat-empty/index.d.ts +2 -0
  64. package/lib/modules/chat/components/message-list/chat-empty/index.js +26 -0
  65. package/lib/modules/chat/components/message-list/history-unread-message-button/index.d.ts +7 -0
  66. package/lib/modules/chat/components/message-list/history-unread-message-button/index.js +55 -0
  67. package/lib/modules/chat/components/message-list/index.d.ts +1 -1
  68. package/lib/modules/chat/components/message-list/index.js +55 -359
  69. package/lib/modules/chat/components/message-list/message-item/index.d.ts +15 -0
  70. package/lib/modules/chat/components/message-list/message-item/index.js +309 -0
  71. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.d.ts +9 -0
  72. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.js +67 -0
  73. package/lib/modules/chat/index.css +9 -0
  74. package/lib/modules/chat/index.d.ts +6 -0
  75. package/lib/modules/chat/index.js +4 -1
  76. package/lib/modules/chat/store.d.ts +17 -7
  77. package/lib/modules/chat/store.js +75 -72
  78. package/lib/modules/chat/types.d.ts +7 -7
  79. package/lib/modules/chat/types.js +2 -1
  80. package/lib/modules/chat/view.js +22 -102
  81. package/lib/modules/components/device-control/store.d.ts +4 -3
  82. package/lib/modules/components/device-control/store.js +13 -24
  83. package/lib/modules/components/leave-meeting/components/assign-host.js +17 -2
  84. package/lib/modules/components/leave-meeting/index.js +8 -7
  85. package/lib/modules/components/leave-meeting/store.d.ts +15 -7
  86. package/lib/modules/components/leave-meeting/store.js +116 -95
  87. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +6 -0
  88. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +36 -0
  89. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +40 -0
  90. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +170 -0
  91. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +11 -0
  92. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +105 -0
  93. package/lib/modules/components/member-window/components/member-actions/components/layout/index.d.ts +9 -0
  94. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +42 -0
  95. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +11 -0
  96. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +157 -0
  97. package/lib/modules/components/member-window/components/member-actions/components/share-status.d.ts +2 -0
  98. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +34 -0
  99. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +16 -0
  100. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +130 -0
  101. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +12 -0
  102. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +57 -0
  103. package/lib/modules/components/member-window/components/member-actions/index.d.ts +3 -0
  104. package/lib/modules/components/member-window/components/member-actions/index.js +122 -0
  105. package/lib/modules/components/member-window/components/member-actions/libs/index.d.ts +2 -0
  106. package/lib/modules/components/member-window/components/member-actions/libs/index.js +24 -0
  107. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +21 -0
  108. package/lib/modules/components/member-window/components/member-actions/provider.js +77 -0
  109. package/lib/modules/components/member-window/components/member-actions/store.d.ts +48 -0
  110. package/lib/modules/components/member-window/components/member-actions/store.js +307 -0
  111. package/lib/modules/components/member-window/components/member-board.d.ts +2 -0
  112. package/lib/modules/components/member-window/components/member-board.js +63 -0
  113. package/lib/modules/components/member-window/components/mic-volume.d.ts +2 -0
  114. package/lib/modules/components/member-window/components/mic-volume.js +23 -0
  115. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +4 -0
  116. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +40 -0
  117. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +8 -0
  118. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +62 -0
  119. package/lib/modules/components/member-window/components/video-player/index.d.ts +9 -0
  120. package/lib/modules/components/member-window/components/video-player/index.js +38 -0
  121. package/lib/modules/components/member-window/index.css +22 -2
  122. package/lib/modules/components/member-window/index.d.ts +10 -75
  123. package/lib/modules/components/member-window/index.js +20 -738
  124. package/lib/modules/components/member-window/types.d.ts +79 -0
  125. package/lib/modules/components/member-window/types.js +6 -0
  126. package/lib/modules/components/security-menu/index.css +0 -2
  127. package/lib/modules/components/security-menu/index.d.ts +5 -1
  128. package/lib/modules/components/security-menu/index.js +37 -59
  129. package/lib/modules/connection-gateway/index.d.ts +6 -0
  130. package/lib/modules/connection-gateway/index.js +4 -1
  131. package/lib/modules/connection-gateway/store.d.ts +12 -3
  132. package/lib/modules/connection-gateway/store.js +29 -27
  133. package/lib/modules/control-bar/components/meeting-details/index.js +11 -17
  134. package/lib/modules/control-bar/components/more-actions/index.js +5 -4
  135. package/lib/modules/control-bar/components/share-state-nav/index.js +22 -10
  136. package/lib/modules/control-bar/index.css +1 -2
  137. package/lib/modules/control-bar/index.d.ts +14 -0
  138. package/lib/modules/control-bar/index.js +10 -4
  139. package/lib/modules/control-bar/store.d.ts +40 -20
  140. package/lib/modules/control-bar/store.js +156 -191
  141. package/lib/modules/control-bar/view.js +65 -25
  142. package/lib/modules/device-pretest/audio-preview/microphone-detection.js +1 -1
  143. package/lib/modules/dialog/components/control-bar/index.d.ts +1 -1
  144. package/lib/modules/dialog/components/control-bar/index.js +43 -43
  145. package/lib/modules/dialog/components/device-setting/index.js +2 -1
  146. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  147. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  148. package/lib/modules/dialog/components/dialog-container/index.d.ts +2 -0
  149. package/lib/modules/dialog/components/dialog-container/index.js +19 -13
  150. package/lib/modules/dialog/components/live-streaming/index.js +4 -2
  151. package/lib/modules/dialog/components/participant/index.js +2 -2
  152. package/lib/modules/dialog/components/share-screen-selection/index.js +3 -1
  153. package/lib/modules/dialog/components/system-preference/assets/bg1.png +0 -0
  154. package/lib/modules/dialog/components/system-preference/assets/bg2.png +0 -0
  155. package/lib/modules/dialog/components/system-preference/assets/fcr_png_host.png +0 -0
  156. package/lib/modules/dialog/components/system-preference/electron.js +6 -6
  157. package/lib/modules/dialog/components/system-preference/index.css +3 -0
  158. package/lib/modules/dialog/components/system-preference/index.d.ts +17 -2
  159. package/lib/modules/dialog/components/system-preference/index.js +47 -55
  160. package/lib/modules/dialog/components/video-window/index.d.ts +1 -1
  161. package/lib/modules/dialog/components/video-window/index.js +216 -101
  162. package/lib/modules/dialog/components/widget/electron.d.ts +5 -0
  163. package/lib/modules/dialog/components/widget/electron.js +37 -0
  164. package/lib/modules/dialog/components/widget/index.d.ts +6 -0
  165. package/lib/modules/dialog/components/widget/index.js +43 -0
  166. package/lib/modules/dialog/hooks/useElectron.d.ts +7 -0
  167. package/lib/modules/dialog/hooks/useElectron.js +226 -28
  168. package/lib/modules/dialog/index.css +1 -11
  169. package/lib/modules/dialog/index.d.ts +9 -6
  170. package/lib/modules/dialog/index.js +12 -12
  171. package/lib/modules/dialog/store.d.ts +26 -10
  172. package/lib/modules/dialog/store.js +151 -82
  173. package/lib/modules/dialog/type.d.ts +84 -0
  174. package/lib/modules/dialog/type.js +6 -0
  175. package/lib/modules/dialog/view.d.ts +1 -4
  176. package/lib/modules/dialog/view.js +12 -9
  177. package/lib/modules/event-confirm/index.css +11 -0
  178. package/lib/modules/event-confirm/index.d.ts +6 -0
  179. package/lib/modules/event-confirm/index.js +3 -2
  180. package/lib/modules/event-confirm/store.d.ts +10 -4
  181. package/lib/modules/event-confirm/store.js +91 -32
  182. package/lib/modules/event-confirm/view.js +63 -24
  183. package/lib/modules/event-toast/store.js +4 -2
  184. package/lib/modules/interpreter/action/edit-btn/index.js +5 -5
  185. package/lib/modules/interpreter/action/switch-btn/index.js +7 -7
  186. package/lib/modules/interpreter/index.d.ts +5 -1
  187. package/lib/modules/interpreter/index.js +4 -2
  188. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -3
  189. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +6 -5
  190. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +2 -2
  191. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.js +2 -2
  192. package/lib/modules/interpreter/store.d.ts +8 -5
  193. package/lib/modules/interpreter/store.js +90 -39
  194. package/lib/modules/interpreter/type.d.ts +5 -1
  195. package/lib/modules/interpreter/utils.d.ts +0 -1
  196. package/lib/modules/interpreter/utils.js +2 -23
  197. package/lib/modules/interpreter/view.js +2 -6
  198. package/lib/modules/invite/index.d.ts +4 -0
  199. package/lib/modules/invite/index.js +3 -1
  200. package/lib/modules/invite/store.d.ts +11 -2
  201. package/lib/modules/invite/store.js +27 -4
  202. package/lib/modules/layout/components/Aside.js +1 -1
  203. package/lib/modules/layout/components/Carousel.js +36 -14
  204. package/lib/modules/layout/components/Gallery.js +33 -11
  205. package/lib/modules/layout/index.css +2 -2
  206. package/lib/modules/layout/index.d.ts +6 -0
  207. package/lib/modules/layout/index.js +4 -1
  208. package/lib/modules/layout/store.d.ts +23 -10
  209. package/lib/modules/layout/store.js +185 -163
  210. package/lib/modules/layout/type.d.ts +2 -0
  211. package/lib/modules/live-streaming/index.d.ts +2 -0
  212. package/lib/modules/live-streaming/index.js +2 -2
  213. package/lib/modules/live-streaming/store.d.ts +4 -8
  214. package/lib/modules/live-streaming/store.js +9 -19
  215. package/lib/modules/notification/index.css +17 -0
  216. package/lib/modules/notification/store.js +4 -2
  217. package/lib/modules/notification/view.js +7 -2
  218. package/lib/modules/offscreen-pulling/index.d.ts +1 -0
  219. package/lib/modules/offscreen-pulling/index.js +4 -0
  220. package/lib/modules/participant/components/confirm-input/index.d.ts +6 -0
  221. package/lib/modules/participant/components/confirm-input/index.js +50 -0
  222. package/lib/modules/participant/components/mute-all/index.d.ts +3 -7
  223. package/lib/modules/participant/components/mute-all/index.js +21 -33
  224. package/lib/modules/participant/components/participants/components/footer/components/buttons.d.ts +6 -0
  225. package/lib/modules/participant/components/participants/components/footer/components/buttons.js +52 -0
  226. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +60 -0
  227. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.d.ts +2 -0
  228. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +166 -0
  229. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.d.ts +5 -0
  230. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.js +28 -0
  231. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +13 -0
  232. package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +5 -0
  233. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +242 -0
  234. package/lib/modules/participant/components/participants/components/footer/index.d.ts +5 -0
  235. package/lib/modules/participant/components/participants/components/footer/index.js +48 -0
  236. package/lib/modules/participant/components/participants/components/merge/index.d.ts +11 -0
  237. package/lib/modules/participant/components/participants/components/merge/index.js +49 -0
  238. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +191 -0
  239. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +4 -0
  240. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +204 -0
  241. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +49 -0
  242. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +5 -0
  243. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +219 -0
  244. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +5 -0
  245. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +70 -0
  246. package/lib/modules/participant/components/participants/components/participants/index.css +104 -0
  247. package/lib/modules/participant/components/participants/components/participants/index.d.ts +3 -0
  248. package/lib/modules/participant/components/participants/components/participants/index.js +110 -0
  249. package/lib/modules/participant/components/participants/components/render-tab/index.d.ts +2 -0
  250. package/lib/modules/participant/components/participants/components/render-tab/index.js +49 -0
  251. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.d.ts +3 -0
  252. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +48 -0
  253. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  254. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +28 -0
  255. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.d.ts +7 -0
  256. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.js +39 -0
  257. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +69 -0
  258. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.d.ts +5 -0
  259. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +135 -0
  260. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.d.ts +7 -0
  261. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.js +31 -0
  262. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +12 -0
  263. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +82 -0
  264. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.d.ts +4 -0
  265. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.js +26 -0
  266. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +2 -0
  267. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +75 -0
  268. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +5 -0
  269. package/lib/modules/participant/components/participants/components/render-user/index.js +21 -0
  270. package/lib/modules/participant/components/participants/index.js +18 -112
  271. package/lib/modules/participant/components/participants/types.d.ts +96 -0
  272. package/lib/modules/participant/components/participants/types.js +37 -0
  273. package/lib/modules/participant/index.css +3 -0
  274. package/lib/modules/participant/index.d.ts +12 -0
  275. package/lib/modules/participant/index.js +7 -1
  276. package/lib/modules/participant/member-list-data-source.d.ts +2 -2
  277. package/lib/modules/participant/member-list-data-source.js +11 -17
  278. package/lib/modules/participant/store.d.ts +44 -37
  279. package/lib/modules/participant/store.js +527 -536
  280. package/lib/modules/participant/type.d.ts +2 -9
  281. package/lib/modules/pc-audio-connect/store.d.ts +1 -1
  282. package/lib/modules/pc-audio-connect/store.js +9 -6
  283. package/lib/modules/setting/audio-settings/audio-settings.js +5 -4
  284. package/lib/modules/setting/audio-settings/index.css +11 -2
  285. package/lib/modules/setting/config.js +1 -1
  286. package/lib/modules/setting/store.d.ts +1 -0
  287. package/lib/modules/setting/store.js +20 -2
  288. package/lib/modules/setting/video-settings/index.css +12 -17
  289. package/lib/modules/setting/video-settings/video-settings-basic.js +40 -44
  290. package/lib/modules/share-screen/components/selection/index.js +70 -80
  291. package/lib/modules/share-screen/index.d.ts +6 -1
  292. package/lib/modules/share-screen/index.js +4 -1
  293. package/lib/modules/share-screen/store.d.ts +37 -33
  294. package/lib/modules/share-screen/store.js +330 -438
  295. package/lib/modules/sound-effect/sound-effect-player.d.ts +0 -4
  296. package/lib/modules/sound-effect/sound-effect-player.js +4 -4
  297. package/lib/modules/state-bar/index.css +2 -15
  298. package/lib/modules/state-bar/index.d.ts +10 -0
  299. package/lib/modules/state-bar/index.js +6 -1
  300. package/lib/modules/state-bar/live-streaming-state.js +0 -17
  301. package/lib/modules/state-bar/meeting-details.js +12 -24
  302. package/lib/modules/state-bar/meeting-time.js +5 -10
  303. package/lib/modules/state-bar/store.d.ts +31 -8
  304. package/lib/modules/state-bar/store.js +146 -100
  305. package/lib/modules/state-bar/view.js +63 -32
  306. package/lib/modules/video-window/components/deviceState/index.d.ts +7 -0
  307. package/lib/modules/video-window/components/deviceState/index.js +75 -0
  308. package/lib/modules/video-window/components/members/index.css +51 -0
  309. package/lib/modules/video-window/components/members/index.d.ts +2 -0
  310. package/lib/modules/video-window/components/members/index.js +131 -0
  311. package/lib/modules/video-window/components/speaking/index.css +86 -0
  312. package/lib/modules/video-window/components/speaking/index.d.ts +3 -0
  313. package/lib/modules/video-window/components/speaking/index.js +48 -0
  314. package/lib/modules/video-window/components/topControl/index.css +35 -0
  315. package/lib/modules/video-window/components/topControl/index.d.ts +3 -0
  316. package/lib/modules/video-window/components/topControl/index.js +79 -0
  317. package/lib/modules/video-window/index.d.ts +7 -0
  318. package/lib/modules/video-window/index.js +14 -20
  319. package/lib/modules/video-window/store.d.ts +19 -88
  320. package/lib/modules/video-window/store.js +98 -365
  321. package/lib/modules/video-window/type.d.ts +40 -4
  322. package/lib/modules/video-window/type.js +4 -4
  323. package/lib/modules/video-window/view.js +11 -23
  324. package/lib/modules/whiteboard/index.d.ts +1 -0
  325. package/lib/modules/whiteboard/index.js +7 -4
  326. package/lib/modules/widget/index.css +17 -0
  327. package/lib/modules/widget/index.d.ts +10 -0
  328. package/lib/modules/widget/index.js +114 -0
  329. package/lib/modules/widget/sdk.d.ts +30 -0
  330. package/lib/modules/widget/sdk.js +224 -0
  331. package/lib/modules/widget/store.d.ts +14 -0
  332. package/lib/modules/widget/store.js +28 -0
  333. package/lib/modules/widget/type.d.ts +156 -0
  334. package/lib/modules/widget/type.js +6 -0
  335. package/lib/modules/widget/view.d.ts +2 -0
  336. package/lib/modules/widget/view.js +47 -0
  337. package/lib/modules/widget/web-widget.d.ts +29 -0
  338. package/lib/modules/widget/web-widget.js +234 -0
  339. package/lib/providers/ability-provider.d.ts +24 -0
  340. package/lib/providers/ability-provider.js +38 -0
  341. package/lib/providers/chat-provider.d.ts +16 -9
  342. package/lib/providers/chat-provider.js +76 -8
  343. package/lib/providers/device-privilege-provider.d.ts +5 -1
  344. package/lib/providers/device-privilege-provider.js +21 -1
  345. package/lib/providers/device-provider.js +5 -2
  346. package/lib/providers/device-stream-provider.d.ts +15 -3
  347. package/lib/providers/device-stream-provider.js +118 -34
  348. package/lib/providers/dialog-provider.d.ts +9 -8
  349. package/lib/providers/dialog-provider.js +8 -4
  350. package/lib/providers/event-provider.js +4 -2
  351. package/lib/providers/interpreter-provider.d.ts +7 -26
  352. package/lib/providers/interpreter-provider.js +473 -706
  353. package/lib/providers/local-storage-provider.d.ts +6 -1
  354. package/lib/providers/local-storage-provider.js +15 -2
  355. package/lib/providers/message-provider.js +4 -2
  356. package/lib/providers/phone-audio-provider.js +24 -18
  357. package/lib/providers/privilege-provider.d.ts +13 -12
  358. package/lib/providers/privilege-provider.js +19 -11
  359. package/lib/providers/renderer-provider.d.ts +5 -0
  360. package/lib/providers/renderer-provider.js +8 -1
  361. package/lib/providers/room-provider.d.ts +7 -17
  362. package/lib/providers/room-provider.js +113 -161
  363. package/lib/providers/screen-share-provider.d.ts +19 -0
  364. package/lib/providers/screen-share-provider.js +102 -10
  365. package/lib/providers/widget-provider.d.ts +52 -0
  366. package/lib/providers/widget-provider.js +171 -0
  367. package/lib/scenes/main-scene.d.ts +11 -0
  368. package/lib/scenes/main-scene.js +60 -33
  369. package/lib/scenes/waiting-scene.d.ts +9 -0
  370. package/lib/scenes/waiting-scene.js +27 -26
  371. package/lib/schema.d.ts +114 -0
  372. package/lib/schema.js +77 -0
  373. package/lib/shared-data-source/chat-data.d.ts +11 -0
  374. package/lib/shared-data-source/chat-data.js +17 -6
  375. package/lib/shared-data-source/interpreter.d.ts +34 -21
  376. package/lib/shared-data-source/interpreter.js +104 -103
  377. package/lib/shared-data-source/meeting-time.d.ts +68 -0
  378. package/lib/shared-data-source/meeting-time.js +299 -0
  379. package/lib/shared-data-source/member-data.d.ts +126 -0
  380. package/lib/shared-data-source/member-data.js +451 -0
  381. package/lib/shared-data-source/pin-data.d.ts +8 -4
  382. package/lib/shared-data-source/pin-data.js +92 -4
  383. package/lib/shared-data-source/security-data.d.ts +35 -0
  384. package/lib/shared-data-source/security-data.js +156 -0
  385. package/lib/shared-data-source/setting.d.ts +3 -1
  386. package/lib/shared-data-source/setting.js +12 -1
  387. package/lib/shared-data-source/video-window.d.ts +7 -8
  388. package/lib/shared-data-source/video-window.js +97 -94
  389. package/lib/shared-data-source/waiting-room.d.ts +29 -2
  390. package/lib/shared-data-source/waiting-room.js +103 -39
  391. package/lib/translations/enUS.d.ts +25 -12
  392. package/lib/translations/enUS.js +47 -68
  393. package/lib/translations/zhCN.d.ts +26 -12
  394. package/lib/translations/zhCN.js +63 -83
  395. package/lib/type.d.ts +64 -48
  396. package/lib/type.js +14 -1
  397. package/lib/ui-manager.d.ts +3 -2
  398. package/lib/ui-manager.js +8 -7
  399. package/lib/ui-scene.d.ts +7 -1
  400. package/lib/ui-scene.js +187 -97
  401. package/lib/utilities/constant.d.ts +7 -3
  402. package/lib/utilities/constant.js +4 -0
  403. package/lib/utilities/default-config.d.ts +5 -1
  404. package/lib/utilities/default-config.js +28 -2
  405. package/lib/utilities/logger.d.ts +8 -0
  406. package/lib/utilities/logger.js +42 -0
  407. package/lib/utilities/meeting-detail.js +11 -10
  408. package/lib/utilities/parameters.d.ts +4 -0
  409. package/lib/utilities/parameters.js +13 -1
  410. package/lib/utilities/renderer.d.ts +1 -0
  411. package/lib/utilities/renderer.js +4 -1
  412. package/lib/utilities/tools.d.ts +7 -6
  413. package/lib/utilities/tools.js +2 -6
  414. package/lib/utilities/validate-params.d.ts +2 -0
  415. package/lib/utilities/validate-params.js +16 -0
  416. package/lib/waiting-room-control-manager.d.ts +28 -0
  417. package/lib/waiting-room-control-manager.js +212 -0
  418. package/lib/widget-sdk.d.ts +2 -0
  419. package/lib/widget-sdk.js +13 -0
  420. package/package.json +7 -6
  421. package/public/index.html +12 -6
@@ -1,40 +1,15 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.for-each.js");
6
- require("core-js/modules/es.array.push.js");
7
- require("core-js/modules/es.object.define-properties.js");
8
3
  require("core-js/modules/es.object.define-property.js");
9
- require("core-js/modules/es.object.get-own-property-descriptor.js");
10
- require("core-js/modules/es.object.get-own-property-descriptors.js");
11
- require("core-js/modules/es.object.keys.js");
12
- require("core-js/modules/esnext.async-iterator.filter.js");
13
- require("core-js/modules/esnext.async-iterator.for-each.js");
14
- require("core-js/modules/esnext.iterator.filter.js");
15
- require("core-js/modules/esnext.iterator.for-each.js");
16
- require("core-js/modules/web.dom-collections.for-each.js");
17
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
18
5
  Object.defineProperty(exports, "__esModule", {
19
6
  value: true
20
7
  });
21
- exports.MemberWindowActions = exports.MemberWindow = exports.MemberBoard = exports.FcrUIVideoPlayer = exports.FcrUIRemoteVideoPlayer = exports.FcrUILocalVideoPlayer = void 0;
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
24
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
25
- require("core-js/modules/es.array.find.js");
26
- require("core-js/modules/es.array.includes.js");
8
+ exports.meetingConnectorTypes = exports.clamp = exports.MinAvatarSize = exports.MemberWindow = exports.MaxAvatarSize = exports.HideControlsTimeout = exports.AvatarTextSizeRatio = exports.AvatarSizeRatio = void 0;
27
9
  require("core-js/modules/es.array.iterator.js");
28
- require("core-js/modules/es.array.some.js");
29
10
  require("core-js/modules/es.object.to-string.js");
30
11
  require("core-js/modules/es.set.js");
31
- require("core-js/modules/es.string.includes.js");
32
12
  require("core-js/modules/es.string.iterator.js");
33
- require("core-js/modules/esnext.async-iterator.find.js");
34
- require("core-js/modules/esnext.async-iterator.some.js");
35
- require("core-js/modules/esnext.iterator.constructor.js");
36
- require("core-js/modules/esnext.iterator.find.js");
37
- require("core-js/modules/esnext.iterator.some.js");
38
13
  require("core-js/modules/esnext.set.add-all.js");
39
14
  require("core-js/modules/esnext.set.delete-all.js");
40
15
  require("core-js/modules/esnext.set.difference.v2.js");
@@ -59,42 +34,24 @@ require("core-js/modules/esnext.set.symmetric-difference.js");
59
34
  require("core-js/modules/esnext.set.union.v2.js");
60
35
  require("core-js/modules/esnext.set.union.js");
61
36
  require("core-js/modules/web.dom-collections.iterator.js");
62
- require("core-js/modules/web.timers.js");
63
37
  var _classnames = _interopRequireDefault(require("classnames"));
64
38
  var _mobxReact = require("mobx-react");
65
- var _react = require("react");
66
- var _mic = require("agora-ui-foundation/lib/components/icon/mic");
67
39
  var _avatar = require("agora-ui-foundation/lib/components/avatar");
68
40
  var _icon = require("agora-ui-foundation/lib/components/icon");
69
41
  var _type = require("agora-ui-foundation/lib/components/icon/type");
70
- var _popover = require("agora-ui-foundation/lib/components/popover");
71
42
  var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
72
43
  var _i18n = require("agora-ui-foundation/lib/i18n");
73
- var _type2 = require("fcr-core/lib/type");
74
- var _hooks = require("../../../utilities/hooks");
75
- var _type3 = require("../../layout/type");
76
44
  require("./index.css");
77
- var _store = require("../../layout/store");
78
- var _localVideoPlayer = require("agora-ui-foundation/lib/components/local-video-player");
79
- var _iconPhoneCall = require("agora-ui-foundation/lib/components/icon-phone-call");
80
- var _videoTrackRenderContext = require("../../../utilities/video-track-render-context");
81
- var _dialogs = require("../../dialog/dialogs");
82
- var _constant = require("../../../utilities/constant");
83
- var _type4 = require("../../video-window/type");
84
- var _env = require("agora-foundation/lib/utilities/env");
85
45
  var _fcrCore = require("fcr-core");
86
- var _participantsMore = require("agora-ui-foundation/lib/components/participants/participants-more");
46
+ var _videoPlayer = require("./components/video-player");
87
47
  var _jsxRuntime = require("react/jsx-runtime");
88
- var _excluded = ["isLocal"];
89
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
90
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
91
- var MinAvatarSize = 53;
92
- var MaxAvatarSize = 175;
93
- var AvatarSizeRatio = 0.2445;
94
- var AvatarTextSizeRatio = 0.32;
95
- var HideControlsTimeout = 3000;
96
- var meetingConnectorTypes = new Set([_fcrCore.FcrRoomConnectorType.SIP, _fcrCore.FcrRoomConnectorType.H323]);
97
- var clamp = function clamp(val, min, max) {
48
+ var MinAvatarSize = exports.MinAvatarSize = 53;
49
+ var MaxAvatarSize = exports.MaxAvatarSize = 175;
50
+ var AvatarSizeRatio = exports.AvatarSizeRatio = 0.2445;
51
+ var AvatarTextSizeRatio = exports.AvatarTextSizeRatio = 0.32;
52
+ var HideControlsTimeout = exports.HideControlsTimeout = 3000;
53
+ var meetingConnectorTypes = exports.meetingConnectorTypes = new Set([_fcrCore.FcrRoomConnectorType.SIP, _fcrCore.FcrRoomConnectorType.H323]);
54
+ var clamp = exports.clamp = function clamp(val, min, max) {
98
55
  return val < min ? min : val > max ? max : val;
99
56
  };
100
57
  var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_ref) {
@@ -108,7 +65,8 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
108
65
  onRemovePin = _ref.onRemovePin,
109
66
  memberWindowPreviewType = _ref.memberWindowPreviewType,
110
67
  videoRenderMode = _ref.videoRenderMode,
111
- videoStreamType = _ref.videoStreamType;
68
+ videoStreamType = _ref.videoStreamType,
69
+ isVideoSuspended = _ref.isVideoSuspended;
112
70
  var userName = windowData.userName,
113
71
  videoStreamId = windowData.videoStreamId,
114
72
  audioStreamId = windowData.audioStreamId,
@@ -128,12 +86,10 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
128
86
  var isPhoneOnlyAudio = isPhone && !videoStreamId;
129
87
  var isMeeting = meetingConnectorTypes.has(connectorType);
130
88
  var suffixedName = userName + (isMySelf ? t('fmt_attendies_labels_setting_mine') : '');
131
- var avatar = (0, _react.useMemo)(function () {
89
+ var renderAvatar = function renderAvatar() {
132
90
  var avatarSize = clamp(Math.min(width || 246, height || 144) * AvatarSizeRatio, MinAvatarSize, MaxAvatarSize);
133
91
  var avatarTextSize = avatarSize * AvatarTextSizeRatio;
134
- return showAvatar ?
135
- // 纯电话,显示绿色电话头像
136
- isPhoneOnlyAudio ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.FcrAvatar, {
92
+ return showAvatar ? isPhoneOnlyAudio ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.FcrAvatar, {
137
93
  nickName: userName,
138
94
  size: avatarSize,
139
95
  textSize: avatarTextSize,
@@ -161,7 +117,10 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
161
117
  size: avatarSize,
162
118
  textSize: avatarTextSize
163
119
  }) : suffixedName;
164
- }, [showAvatar, userName, isPhone, hasMicrophoneAudioStream, width, height, showAvatar, userName, videoStreamId, audioStreamId, hasMicrophoneAudioStream, hasVideoStream, isPin]);
120
+ };
121
+ var handleRemovePin = function handleRemovePin() {
122
+ return onRemovePin(windowId);
123
+ };
165
124
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
166
125
  className: (0, _classnames["default"])("fcr-member-window fcr-member-window-".concat(memberWindowPreviewType), {
167
126
  'fcr-member-window-myself': isMySelf,
@@ -184,8 +143,8 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
184
143
  })
185
144
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
186
145
  className: "fcr-member-window-avatar",
187
- children: avatar
188
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(FcrUIVideoPlayer, {
146
+ children: renderAvatar()
147
+ }), !isVideoSuspended && /*#__PURE__*/(0, _jsxRuntime.jsx)(_videoPlayer.FcrUIVideoPlayer, {
189
148
  isLocal: isMySelf,
190
149
  streamId: windowId,
191
150
  videoStreamType: videoStreamType,
@@ -197,9 +156,7 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
197
156
  'fcr-member-window-excitation-show': canShowSpeakerSpotlight && isSpeakerSpotlight
198
157
  })
199
158
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
200
- onClick: function onClick() {
201
- return onRemovePin(windowId);
202
- },
159
+ onClick: handleRemovePin,
203
160
  className: (0, _classnames["default"])("fcr-member-window-pin", {
204
161
  'fcr-member-window-pin-show': isPin
205
162
  }),
@@ -216,679 +173,4 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
216
173
  })
217
174
  }), slot]
218
175
  });
219
- });
220
- var MicVolume = (0, _mobxReact.observer)(function (_ref2) {
221
- var id = _ref2.id,
222
- size = _ref2.size;
223
- var _useContext = (0, _react.useContext)(_store.StoreContext),
224
- userVolumeMap = _useContext.userVolumeMap;
225
- var volume = userVolumeMap.get(id || '') || 0;
226
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
227
- className: "fcr-user-window-actions-volume",
228
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_mic.FcrMicrophoneIndicator, {
229
- defId: id,
230
- size: size,
231
- voicePercent: volume,
232
- iconColor: "var(--fcr-volume-icon-color)"
233
- })
234
- });
235
- });
236
- var MemberWindowActions = exports.MemberWindowActions = (0, _mobxReact.observer)(function (_ref3) {
237
- var windowData = _ref3.windowData,
238
- iconSize = _ref3.iconSize,
239
- windowSize = _ref3.windowSize,
240
- openPrivateChat = _ref3.openPrivateChat,
241
- localUserRole = _ref3.localUserRole,
242
- sendParticipantEvent = _ref3.sendParticipantEvent,
243
- muteAudio = _ref3.muteAudio,
244
- hasPinnedStream = _ref3.hasPinnedStream,
245
- allowedOperations = _ref3.allowedOperations,
246
- _setVideoOrientation = _ref3.setVideoOrientation,
247
- showActionBottomLabel = _ref3.showActionBottomLabel,
248
- isShowActionAudio = _ref3.isShowActionAudio,
249
- actionAudioTag = _ref3.actionAudioTag,
250
- onVisibleChanged = _ref3.onVisibleChanged,
251
- videoWindowCurrentWidth = _ref3.videoWindowCurrentWidth,
252
- videoWindowCurrentHeight = _ref3.videoWindowCurrentHeight,
253
- videoWindowPreviewType = _ref3.videoWindowPreviewType,
254
- _ref3$showRotation = _ref3.showRotation,
255
- showRotation = _ref3$showRotation === void 0 ? true : _ref3$showRotation,
256
- interpreterUsers = _ref3.interpreterUsers,
257
- interpreterState = _ref3.interpreterState,
258
- handleRename = _ref3.handleRename,
259
- renderListLength = _ref3.renderListLength;
260
- // iconsize gallery 24 normal 16
261
- var _ref4 = windowData || {},
262
- videoStreamId = _ref4.videoStreamId,
263
- audioStreamId = _ref4.audioStreamId,
264
- hasMicrophoneAudioStream = _ref4.hasMicrophoneAudioStream,
265
- ownerRoleType = _ref4.ownerRoleType,
266
- userName = _ref4.userName,
267
- isMySelf = _ref4.isMySelf,
268
- userId = _ref4.userId,
269
- hasVideoStream = _ref4.hasVideoStream,
270
- hasScreenSharing = _ref4.hasScreenSharing,
271
- isPin = _ref4.isPin,
272
- audioStreamConnectorType = _ref4.audioStreamConnectorType,
273
- videoStreamConnectorType = _ref4.videoStreamConnectorType,
274
- _ref4$phoneMicEnabled = _ref4.phoneMicEnabled,
275
- phoneMicEnabled = _ref4$phoneMicEnabled === void 0 ? false : _ref4$phoneMicEnabled;
276
- var interpreter = (0, _react.useMemo)(function () {
277
- return !!(interpreterUsers !== null && interpreterUsers !== void 0 && interpreterUsers.find(function (ele) {
278
- return ele.userId === userId;
279
- }));
280
- }, [interpreterUsers, userId]);
281
- var insideShow = ![_type2.FcrUserRole.COHOST, _type2.FcrUserRole.HOST].includes(ownerRoleType);
282
- var timerRef = (0, _react.useRef)();
283
- var t = (0, _i18n.useI18n)();
284
- var focus = (0, _hooks.useWindowFocus)();
285
- var _useState = (0, _react.useState)(false),
286
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
287
- isOnlyShowVideoStream = _useState2[0],
288
- setOnlyShowVideoStream = _useState2[1];
289
- var _useState3 = (0, _react.useState)(false),
290
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
291
- isShowDropMenu = _useState4[0],
292
- setIsShowDropMenu = _useState4[1];
293
- var connectorType = audioStreamConnectorType !== _fcrCore.FcrRoomConnectorType.NONE ? audioStreamConnectorType : videoStreamConnectorType;
294
- var isNormal = connectorType === _fcrCore.FcrRoomConnectorType.NONE;
295
- var isPhone = connectorType === _fcrCore.FcrRoomConnectorType.PSTN;
296
- var isMeeting = meetingConnectorTypes.has(connectorType);
297
- var userType = audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.PSTN && !videoStreamId ? 'phone' : isMeeting ? 'meeting-system' : 'normal';
298
- var isShowInterpreterTag = interpreter && interpreterState;
299
- var isManager = ownerRoleType === _type2.FcrUserRole.HOST || ownerRoleType === _type2.FcrUserRole.COHOST;
300
- var handleVideoWindowVisibleChange = function handleVideoWindowVisibleChange(width, height, setResizable) {
301
- var videoWindowBrower = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.VIDEO_WINDOW);
302
- if (!videoWindowBrower) return;
303
- videoWindowBrower.setBounds({
304
- // width,
305
- height: height
306
- });
307
- if (videoWindowPreviewType === _type4.FcrVideoWindowPreviewType.SMALL && setResizable) {
308
- videoWindowBrower.setResizable(true);
309
- } else {
310
- videoWindowBrower.setResizable(false);
311
- }
312
- };
313
- var onVisibleChange = function onVisibleChange(visible) {
314
- if (visible) {
315
- // 先设置一个大小让popover可以悬浮到“更多”的右边,然后等尺寸固定之后再设置具体的宽高
316
- handleVideoWindowVisibleChange(900, 853, false);
317
- setIsShowDropMenu(visible);
318
- onVisibleChanged === null || onVisibleChanged === void 0 || onVisibleChanged(visible);
319
- } else {
320
- setIsShowDropMenu(visible);
321
- timerRef.current = setTimeout(function () {
322
- handleVideoWindowVisibleChange(videoWindowCurrentWidth, videoWindowCurrentHeight, true);
323
- onVisibleChanged === null || onVisibleChanged === void 0 || onVisibleChanged(visible);
324
- }, 100);
325
- }
326
- };
327
- (0, _react.useEffect)(function () {
328
- return function () {
329
- clearTimeout(timerRef.current);
330
- };
331
- }, [videoWindowPreviewType]);
332
- (0, _react.useEffect)(function () {
333
- if (!isOnlyShowVideoStream && !focus) {
334
- var timer = setTimeout(function () {
335
- return setOnlyShowVideoStream(true);
336
- }, HideControlsTimeout);
337
- return function () {
338
- return clearTimeout(timer);
339
- };
340
- } else if (focus && isOnlyShowVideoStream) {
341
- setOnlyShowVideoStream(false);
342
- }
343
- }, [isOnlyShowVideoStream, focus]);
344
- (0, _react.useEffect)(function () {
345
- if (isShowDropMenu) {
346
- onVisibleChange(false);
347
- }
348
- }, [renderListLength]);
349
- var suffixedName = userName;
350
- var isMeTag = isMySelf ? t('fmt_attendies_labels_setting_mine') : '';
351
- // 左下角图标内容
352
- var icon = null;
353
-
354
- // 大视窗
355
- if (windowSize === 'large') {
356
- // 普通麦克风接入:音量 / 红色麦克风静音
357
- if (isNormal) {
358
- icon = hasMicrophoneAudioStream ? /*#__PURE__*/(0, _jsxRuntime.jsx)(MicVolume, {
359
- id: isMySelf ? '0' : videoStreamId || audioStreamId,
360
- size: iconSize
361
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
362
- content: t('fmt_popup_label_muted'),
363
- mouseEnterDelay: 0,
364
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
365
- className: "fcr-user-window-actions-microphone",
366
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
367
- type: _type.FcrIconType.FCR_NOMUTE,
368
- size: iconSize,
369
- colors: {
370
- iconPrimary: isManager ? 'currentColor' : 'var(--fcr_ui_scene_ramp_red6)',
371
- iconSecondary: 'var(--fcr_ui_scene_ramp_red6)'
372
- }
373
- })
374
- })
375
- });
376
- }
377
- // 不纯电话、会议系统,绿色 / 白色 (主持人) 电话,电话有帧动画
378
- else if (isPhone && videoStreamId !== audioStreamId) {
379
- icon = hasMicrophoneAudioStream ? /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
380
- className: "fcr-user-window-actions-microphone",
381
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_iconPhoneCall.FcrIconPhoneCall, {
382
- size: iconSize,
383
- isMuted: !phoneMicEnabled,
384
- iconColors: {
385
- iconPrimary: ownerRoleType === _type2.FcrUserRole.HOST ? 'var(--fcr_ui_scene_white10)' : 'var(--fcr_ui_scene_ramp_lightgreen6)'
386
- }
387
- })
388
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
389
- content: t('fmt_popup_label_muted'),
390
- mouseEnterDelay: 0,
391
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
392
- className: "fcr-user-window-actions-microphone",
393
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
394
- type: _type.FcrIconType.FCR_PHONECALL_SILENCE,
395
- size: iconSize,
396
- colors: {
397
- iconPrimary: 'var(--fcr_ui_scene_ramp_red6)'
398
- }
399
- })
400
- })
401
- });
402
- } else if (isMeeting) {
403
- icon = hasMicrophoneAudioStream ? /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
404
- className: "fcr-user-window-actions-microphone",
405
- style: {
406
- backgroundColor: 'var(--fcr_ui_scene_ramp_purple7)'
407
- },
408
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
409
- type: _type.FcrIconType.FCR_SIPDEVICE,
410
- size: iconSize,
411
- colors: {
412
- iconPrimary: 'var(--fcr_ui_scene_white10)',
413
- iconSecondary: 'var(--fcr_ui_scene_ramp_green6)'
414
- }
415
- })
416
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
417
- className: "fcr-user-window-actions-microphone",
418
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
419
- type: _type.FcrIconType.FCR_PHONECALL_SILENCE,
420
- size: iconSize,
421
- colors: {
422
- iconPrimary: 'var(--fcr_ui_scene_ramp_red6)'
423
- }
424
- })
425
- });
426
- }
427
- }
428
-
429
- // 小视窗
430
- else {
431
- // 普通麦克风接入:空 / 红色麦克风静音
432
- if (isNormal) {
433
- icon = hasMicrophoneAudioStream ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
434
- content: t('fmt_popup_label_muted'),
435
- mouseEnterDelay: 0,
436
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
437
- className: "fcr-user-window-actions-microphone",
438
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
439
- type: _type.FcrIconType.FCR_NOMUTE,
440
- size: iconSize,
441
- colors: {
442
- iconPrimary: 'var(--fcr_ui_scene_ramp_red6)',
443
- iconSecondary: 'var(--fcr_ui_scene_ramp_red6)'
444
- }
445
- })
446
- })
447
- });
448
- }
449
- // 电话接入
450
- else if (isPhone) {
451
- // 纯电话:绿色电话 / 红色电话静音
452
- if (videoStreamId === audioStreamId) {
453
- icon = hasMicrophoneAudioStream ? /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
454
- className: "fcr-user-window-actions-microphone",
455
- style: {
456
- backgroundColor: 'var(--fcr_ui_scene_ramp_lightgreen6)'
457
- },
458
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
459
- type: _type.FcrIconType.FCR_PHONECALL3,
460
- size: iconSize,
461
- colors: {
462
- iconPrimary: 'var(--fcr_ui_scene_white10)'
463
- }
464
- })
465
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
466
- content: t('fmt_popup_label_muted'),
467
- mouseEnterDelay: 0,
468
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
469
- className: "fcr-user-window-actions-microphone",
470
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
471
- type: _type.FcrIconType.FCR_PHONECALL_SILENCE,
472
- size: iconSize,
473
- colors: {
474
- iconPrimary: 'var(--fcr_ui_scene_ramp_red6)'
475
- }
476
- })
477
- })
478
- });
479
- }
480
- // 不纯电话:空 / 红色电话静音
481
- else {
482
- icon = hasMicrophoneAudioStream ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
483
- content: t('fmt_popup_label_muted'),
484
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
485
- className: "fcr-user-window-actions-microphone",
486
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
487
- type: _type.FcrIconType.FCR_PHONECALL_SILENCE,
488
- size: iconSize,
489
- colors: {
490
- iconPrimary: 'var(--fcr_ui_scene_ramp_red6)'
491
- }
492
- })
493
- })
494
- });
495
- }
496
- }
497
- // 会议系统接入:紫色会议 / 紫色会议 + 红色电话静音
498
- else {
499
- icon = hasMicrophoneAudioStream ? /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
500
- className: "fcr-user-window-actions-microphone",
501
- style: {
502
- backgroundColor: 'var(--fcr_ui_scene_ramp_purple7)'
503
- },
504
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
505
- type: _type.FcrIconType.FCR_SIPDEVICE,
506
- size: iconSize,
507
- colors: {
508
- iconPrimary: 'var(--fcr_ui_scene_white10)',
509
- iconSecondary: 'var(--fcr_ui_scene_ramp_green6)'
510
- }
511
- })
512
- }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
513
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
514
- className: "fcr-user-window-actions-microphone",
515
- style: {
516
- backgroundColor: 'var(--fcr_ui_scene_ramp_purple7)'
517
- },
518
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
519
- type: _type.FcrIconType.FCR_SIPDEVICE,
520
- size: iconSize,
521
- colors: {
522
- iconPrimary: 'var(--fcr_ui_scene_white10)',
523
- iconSecondary: 'var(--fcr_ui_scene_ramp_green6)'
524
- }
525
- })
526
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
527
- content: t('fmt_popup_label_muted'),
528
- mouseEnterDelay: 0,
529
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
530
- className: "fcr-user-window-actions-microphone",
531
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
532
- type: _type.FcrIconType.FCR_PHONECALL_SILENCE,
533
- size: iconSize,
534
- colors: {
535
- iconPrimary: 'var(--fcr_ui_scene_ramp_red6)'
536
- }
537
- })
538
- })
539
- })]
540
- });
541
- }
542
- }
543
- var interpreterTagDom = /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
544
- children: t('fmt_ai_transcriptions_setting_label_translator')
545
- });
546
- var InterpreterTag = function InterpreterTag(props) {
547
- var className = props.className,
548
- _props$isShow = props.isShow,
549
- isShow = _props$isShow === void 0 ? true : _props$isShow;
550
- if (!isShow) {
551
- return null;
552
- }
553
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
554
- className: (0, _classnames["default"])('fcr-user-window-actions-tag', 'fcr-user-window-actions-tag-host', className),
555
- children: interpreterTagDom
556
- });
557
- };
558
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
559
- className: (0, _classnames["default"])('fcr-user-window-actions', {
560
- 'fcr-user-window-actions-hide': isOnlyShowVideoStream
561
- }),
562
- onContextMenu: function onContextMenu(e) {
563
- e.preventDefault();
564
- onVisibleChange(true);
565
- },
566
- children: [isManager && /*#__PURE__*/(0, _jsxRuntime.jsx)(InterpreterTag, {
567
- isShow: isShowInterpreterTag,
568
- className: (0, _classnames["default"])('fcr-user-window-actions-bottom', 'fcr-user-window-actions-middle', {
569
- 'fcr-user-window-actions-bottom-show': showActionBottomLabel,
570
- 'fcr-user-window-actions-tag_large': windowSize === 'large'
571
- })
572
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
573
- className: (0, _classnames["default"])('fcr-user-window-actions-bottom', {
574
- 'fcr-user-window-actions-bottom-show': showActionBottomLabel
575
- }),
576
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
577
- className: (0, _classnames["default"])('fcr-user-window-actions-bottom-layout'),
578
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
579
- className: (0, _classnames["default"])('fcr-member-window-members-sharebtn', {
580
- 'fcr-member-window-members-sharebtn-show': hasScreenSharing,
581
- 'fcr-member-window-members-sharebtn-large': windowSize === 'large'
582
- }),
583
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
584
- type: _type.FcrIconType.FCR_MOBILE_SHARESCREEN,
585
- colors: {
586
- iconPrimary: 'var(--fcr_ui_scene_white10)'
587
- },
588
- size: windowSize === 'large' ? 24 : 18
589
- })
590
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
591
- className: "fcr-user-window-actions-bottom-layout-info",
592
- children: [windowSize === 'large' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
593
- className: (0, _classnames["default"])('fcr-user-window-actions-tag', {
594
- 'fcr-user-window-actions-tag-host': isManager || isShowInterpreterTag,
595
- 'fcr-user-window-actions-tag-cohost': ownerRoleType === _type2.FcrUserRole.COHOST
596
- }),
597
- children: [icon, ownerRoleType === _type2.FcrUserRole.HOST && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
598
- children: t('fmt_role_host')
599
- }), ownerRoleType === _type2.FcrUserRole.COHOST && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
600
- children: t('fmt_role_cohost')
601
- }), insideShow && isShowInterpreterTag && interpreterTagDom]
602
- }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
603
- children: [isManager ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
604
- className: (0, _classnames["default"])('fcr-user-window-actions-tag', {
605
- 'fcr-user-window-actions-tag-host': isManager || isShowInterpreterTag,
606
- 'fcr-user-window-actions-tag-cohost': ownerRoleType === _type2.FcrUserRole.COHOST
607
- }),
608
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
609
- children: t(ownerRoleType === _type2.FcrUserRole.HOST ? 'fmt_role_host' : 'fmt_role_cohost')
610
- })
611
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(InterpreterTag, {
612
- isShow: isShowInterpreterTag,
613
- className: "fcr-user-window-actions-tag"
614
- }), !hasMicrophoneAudioStream ? isMeeting ? /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
615
- className: "fcr-user-window-actions-microphone",
616
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
617
- type: _type.FcrIconType.FCR_SIPDEVICE,
618
- size: iconSize,
619
- colors: {
620
- iconPrimary: 'var(--fcr_ui_scene_white10)',
621
- iconSecondary: 'var(--fcr_ui_scene_ramp_green6)'
622
- }
623
- })
624
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
625
- content: t('fmt_device_label_audio_mute'),
626
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
627
- className: "fcr-user-window-actions-microphone",
628
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
629
- type: _type.FcrIconType.FCR_NOMUTE,
630
- size: iconSize,
631
- colors: {
632
- iconPrimary: 'var(--fcr_ui_scene_ramp_red6)',
633
- iconSecondary: 'var(--fcr_ui_scene_ramp_red6)'
634
- }
635
- })
636
- })
637
- }) : isPhone ? /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
638
- className: "fcr-user-window-actions-microphone",
639
- style: {
640
- backgroundColor: 'var(--fcr_ui_scene_ramp_lightgreen6)'
641
- },
642
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
643
- type: _type.FcrIconType.FCR_PHONECALL3,
644
- size: iconSize,
645
- colors: {
646
- iconPrimary: 'var(--fcr_ui_scene_white10)'
647
- }
648
- })
649
- }) : isMeeting ? /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
650
- className: "fcr-user-window-actions-microphone",
651
- style: {
652
- backgroundColor: 'var(--fcr_ui_scene_ramp_purple7)'
653
- },
654
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
655
- type: _type.FcrIconType.FCR_SIPDEVICE,
656
- size: iconSize,
657
- colors: {
658
- iconPrimary: 'var(--fcr_ui_scene_white10)',
659
- iconSecondary: 'var(--fcr_ui_scene_ramp_green6)'
660
- }
661
- })
662
- }) : null]
663
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
664
- className: (0, _classnames["default"])('fcr-user-window-actions-name', {
665
- 'ml-5': isManager || isShowInterpreterTag
666
- }),
667
- children: suffixedName
668
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
669
- className: "fcr-user-window-actions-name-isme",
670
- children: isMeTag
671
- }), isMeTag && allowedOperations.some(function (item) {
672
- return item === 'change_name';
673
- }) && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
674
- className: "fcr-user-window-actions-name-rename",
675
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
676
- onClick: function onClick() {
677
- return handleRename(userId);
678
- },
679
- type: _type.FcrIconType.FCR_RENAME,
680
- colors: {
681
- iconPrimary: 'var(--fcr_ui_scene_icontext1)'
682
- }
683
- })
684
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
685
- className: "fcr-user-window-actions-name-doing",
686
- children: [windowData.type === _type3.FcrUIWindowType.BOARD ? t('fmt_screenshare_whiteboard_tips_someonesharing', {
687
- reason1: ''
688
- }) : '', hasScreenSharing && windowData.type === _type3.FcrUIWindowType.VIDEO ? t('fmt_screenshare_status_sharing') : '']
689
- })]
690
- })]
691
- }), !insideShow && !isManager && /*#__PURE__*/(0, _jsxRuntime.jsx)(InterpreterTag, {
692
- isShow: isShowInterpreterTag,
693
- className: "fcr-user-window-actions-bottom-interpreter-tag"
694
- }), windowSize === 'large' && windowData.isMySelf && hasVideoStream && showRotation && renderListLength === 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_localVideoPlayer.VideoOrientation, {
695
- setVideoOrientation: function setVideoOrientation() {
696
- _setVideoOrientation();
697
- }
698
- })]
699
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
700
- className: (0, _classnames["default"])('fcr-user-window-actions-top', {
701
- 'fcr-user-window-actions-top-active': isShowDropMenu
702
- }),
703
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
704
- content: t('fmt_participants_member_button_more'),
705
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
706
- showArrow: true,
707
- placement: "bottomRight",
708
- trigger: "click",
709
- visible: isShowDropMenu,
710
- onVisibleChange: onVisibleChange,
711
- overlayInnerStyle: {
712
- border: 0,
713
- boxShadow: '0px 0px 15px var(--fcr_web_light_dropup_m)',
714
- borderRadius: 'var(--fcr_cornerradius_l)',
715
- minWidth: '210px',
716
- maxWidth: '300px',
717
- width: 'fit-content'
718
- },
719
- overlayClassName: "member-window-actions__more-actions",
720
- mouseEnterDelay: 0,
721
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_participantsMore.FcrParticipantsMoreActions, {
722
- userType: userType,
723
- hasPinnedStream: hasPinnedStream,
724
- audioDeviceType: isPhone ? 'phone-mic' : 'computer-mic',
725
- userId: userId,
726
- userRole: ownerRoleType,
727
- hasVideo: hasVideoStream,
728
- hasAudio: hasMicrophoneAudioStream,
729
- userName: userName,
730
- isPin: isPin,
731
- allowedOperations: allowedOperations,
732
- isMe: isMySelf,
733
- onParticipantsButtonClick: function onParticipantsButtonClick(action, userId) {
734
- sendParticipantEvent({
735
- action: action,
736
- userId: userId
737
- });
738
- onVisibleChange(false);
739
- }
740
- }),
741
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
742
- className: "fcr-user-window-actions-more",
743
- onClick: function onClick() {
744
- onVisibleChange(true);
745
- },
746
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
747
- type: _type.FcrIconType.FCR_MOBILE_MORE,
748
- size: 20,
749
- colors: {
750
- iconPrimary: 'currentColor'
751
- }
752
- })
753
- })
754
- })
755
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
756
- className: "fcr-user-window-actions-mute",
757
- disabled: !isShowActionAudio,
758
- onClick: function onClick() {
759
- muteAudio(hasMicrophoneAudioStream, userId);
760
- },
761
- children: t(actionAudioTag)
762
- })]
763
- })]
764
- });
765
- });
766
- var MemberBoard = exports.MemberBoard = (0, _mobxReact.observer)(function (_ref5) {
767
- var slot = _ref5.slot,
768
- isMask = _ref5.isMask,
769
- onMaskDoubleClick = _ref5.onMaskDoubleClick,
770
- windowData = _ref5.windowData,
771
- allowedOperations = _ref5.allowedOperations,
772
- showActionBottomLabel = _ref5.showActionBottomLabel,
773
- isShowActionAudio = _ref5.isShowActionAudio,
774
- actionAudioTag = _ref5.actionAudioTag;
775
- var _useContext2 = (0, _react.useContext)(_store.StoreContext),
776
- hasPinnedStream = _useContext2.hasPinnedStream,
777
- localUserRole = _useContext2.localUserRole,
778
- sendParticipantEvent = _useContext2.sendParticipantEvent,
779
- muteAudio = _useContext2.muteAudio,
780
- hasMutePermission = _useContext2.hasMutePermission,
781
- openPrivateChat = _useContext2.openPrivateChat,
782
- setVideoOrientation = _useContext2.setVideoOrientation,
783
- interpreterUsers = _useContext2.interpreterUsers,
784
- interpreterState = _useContext2.interpreterState,
785
- openRenameDialog = _useContext2.openRenameDialog;
786
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
787
- className: (0, _classnames["default"])("fcr-member-board"),
788
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
789
- onDoubleClick: onMaskDoubleClick,
790
- className: (0, _classnames["default"])('fcr-member-board-mask', {
791
- 'fcr-member-board-mask-show': isMask
792
- })
793
- }), isMask && /*#__PURE__*/(0, _jsxRuntime.jsx)(MemberWindowActions, {
794
- isShowActionAudio: isShowActionAudio,
795
- actionAudioTag: actionAudioTag,
796
- showActionBottomLabel: showActionBottomLabel,
797
- allowedOperations: allowedOperations,
798
- setVideoOrientation: setVideoOrientation,
799
- hasPinnedStream: hasPinnedStream,
800
- localUserRole: localUserRole,
801
- sendParticipantEvent: sendParticipantEvent,
802
- muteAudio: muteAudio,
803
- openPrivateChat: openPrivateChat,
804
- windowSize: "large",
805
- windowData: windowData,
806
- iconSize: 24,
807
- showRotation: (0, _env.isElectron)(),
808
- interpreterUsers: interpreterUsers,
809
- interpreterState: interpreterState,
810
- handleRename: openRenameDialog
811
- }), slot]
812
- });
813
- });
814
- var FcrUIVideoPlayer = exports.FcrUIVideoPlayer = function FcrUIVideoPlayer(props) {
815
- var isLocal = props.isLocal,
816
- others = (0, _objectWithoutProperties2["default"])(props, _excluded);
817
- return isLocal ? /*#__PURE__*/(0, _jsxRuntime.jsx)(FcrUILocalVideoPlayer, {
818
- renderMode: others.renderMode
819
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(FcrUIRemoteVideoPlayer, _objectSpread({}, others));
820
- };
821
- var FcrUILocalVideoPlayer = exports.FcrUILocalVideoPlayer = (0, _mobxReact.observer)(function (props) {
822
- var renderMode = props.renderMode;
823
- var divRef = (0, _react.useRef)(null);
824
- var context = (0, _react.useContext)(_videoTrackRenderContext.FcrVideoTrackRenderContext);
825
- var _ref6 = context.localVideoRenderProvider || {},
826
- cameraEnabled = _ref6.cameraEnabled,
827
- cameraId = _ref6.cameraId,
828
- startCameraPreview = _ref6.startCameraPreview,
829
- stopCameraPreview = _ref6.stopCameraPreview;
830
- (0, _react.useEffect)(function () {
831
- var dom = divRef.current;
832
- if (dom) {
833
- if (cameraEnabled) {
834
- startCameraPreview === null || startCameraPreview === void 0 || startCameraPreview(dom, {
835
- renderMode: renderMode,
836
- isMirror: false
837
- });
838
- }
839
- }
840
- return function () {
841
- dom && (stopCameraPreview === null || stopCameraPreview === void 0 ? void 0 : stopCameraPreview(dom));
842
- };
843
- }, [cameraEnabled, cameraId, startCameraPreview, stopCameraPreview]);
844
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
845
- className: "fcr-member-window-body",
846
- ref: divRef
847
- });
848
- });
849
- var FcrUIRemoteVideoPlayer = exports.FcrUIRemoteVideoPlayer = (0, _mobxReact.observer)(function (_ref7) {
850
- var _context$remoteVideoR;
851
- var streamId = _ref7.streamId,
852
- hasVideoStream = _ref7.hasVideoStream,
853
- videoStreamType = _ref7.videoStreamType,
854
- renderMode = _ref7.renderMode,
855
- hasScreenSharing = _ref7.hasScreenSharing;
856
- var divRef = (0, _react.useRef)(null);
857
- var context = (0, _react.useContext)(_videoTrackRenderContext.FcrVideoTrackRenderContext);
858
- var t = (0, _i18n.useI18n)();
859
- var _ref8 = context.remoteVideoRenderProvider || {},
860
- startRenderRemoteVideo = _ref8.startRenderRemoteVideo,
861
- stopRenderRemoteVideo = _ref8.stopRenderRemoteVideo;
862
- var isFirstRemoteVideoFrameRendered = (_context$remoteVideoR = context.remoteVideoRenderProvider) === null || _context$remoteVideoR === void 0 ? void 0 : _context$remoteVideoR.isStreamFirstFrameRendered(streamId);
863
- (0, _react.useEffect)(function () {
864
- var dom = divRef.current;
865
- if (dom) {
866
- if (hasVideoStream) {
867
- startRenderRemoteVideo === null || startRenderRemoteVideo === void 0 || startRenderRemoteVideo(streamId, videoStreamType, {
868
- renderMode: renderMode,
869
- isMirror: false
870
- }, dom);
871
- }
872
- }
873
- return function () {
874
- dom && (stopRenderRemoteVideo === null || stopRenderRemoteVideo === void 0 ? void 0 : stopRenderRemoteVideo(streamId, dom));
875
- };
876
- }, [hasVideoStream, streamId, videoStreamType, renderMode]);
877
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
878
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
879
- className: (0, _classnames["default"])('fcr-member-window-body fcr-member-window-body-video-remote', {
880
- 'fcr-member-window-body-video-remote-render': isFirstRemoteVideoFrameRendered && hasVideoStream
881
- }),
882
- ref: divRef
883
- }), !isFirstRemoteVideoFrameRendered && hasVideoStream && hasScreenSharing && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
884
- className: "fcr-member-window-body-render-video-loading",
885
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
886
- className: "render-video-loading-icon",
887
- size: 24,
888
- type: _type.FcrIconType.FCR_LOADING
889
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
890
- children: [" ", t('fmt_screenshare_status_sharing'), " "]
891
- })]
892
- })]
893
- });
894
176
  });