fcr-ui-scene 3.8.1-beta → 3.8.2

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 (1039) hide show
  1. package/lib/base.js +2 -2
  2. package/lib/creator/provider-initializer.browser.js +8 -7
  3. package/lib/creator/provider-initializer.electron.js +8 -8
  4. package/lib/electron/asar-validation.d.ts +12 -0
  5. package/lib/electron/asar-validation.js +115 -0
  6. package/lib/electron/bootstrap-sdk.js +20 -12
  7. package/lib/electron/default-options.js +2 -1
  8. package/lib/electron/env.d.ts +1 -0
  9. package/lib/electron/env.js +6 -4
  10. package/lib/electron/exit-codes.js +11 -11
  11. package/lib/electron/hang-detection/manager.js +4 -4
  12. package/lib/electron/ipc-protocol.js +12 -12
  13. package/lib/electron/process-manager/event-manager.js +30 -30
  14. package/lib/electron/process-manager/index.js +88 -88
  15. package/lib/electron/process-manager/state-manager.js +57 -57
  16. package/lib/electron/process-manager/types.js +16 -16
  17. package/lib/electron/sdk-helper.js +3 -3
  18. package/lib/electron/window-proxy/browser-window-proxy.js +13 -13
  19. package/lib/electron/window-proxy/main-process-handler.js +14 -14
  20. package/lib/fragments/annotation/style.css +9 -9
  21. package/lib/fragments/annotation/toolbar/components/item/style.css +45 -45
  22. package/lib/fragments/annotation/toolbar/components/panel/style.css +24 -24
  23. package/lib/fragments/annotation/toolbar/components/tips/style.css +19 -19
  24. package/lib/fragments/annotation/toolbar/style.css +55 -55
  25. package/lib/fragments/whiteboard/cursor.css +77 -77
  26. package/lib/fragments/whiteboard/style.css +4 -4
  27. package/lib/global.css +62 -62
  28. package/lib/global.d.ts +27 -27
  29. package/lib/index.js +9 -1
  30. package/lib/modules/action-bar/components/chat/index.css +88 -88
  31. package/lib/modules/action-bar/components/more/index.css +114 -114
  32. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -58
  33. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -56
  34. package/lib/modules/action-bar/components/notification-bar/index.css +74 -74
  35. package/lib/modules/action-bar/components/participants/index.css +21 -21
  36. package/lib/modules/action-bar/components/record/index.css +39 -39
  37. package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -86
  38. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -22
  39. package/lib/modules/action-bar/index.css +358 -358
  40. package/lib/modules/action-bar/main-scene/store.base.d.ts +3 -2
  41. package/lib/modules/action-bar/main-scene/store.base.js +29 -57
  42. package/lib/modules/action-bar/main-scene/view.js +3 -3
  43. package/lib/modules/audio-stream/index.js +3 -3
  44. package/lib/modules/caption/draggable-container/index.css +10 -10
  45. package/lib/modules/caption/view.css +158 -158
  46. package/lib/modules/chat/components/chat-bar/index.css +89 -89
  47. package/lib/modules/chat/components/chat-select/index.css +185 -185
  48. package/lib/modules/chat/index.css +124 -124
  49. package/lib/modules/components/apps/app-item/index.css +49 -49
  50. package/lib/modules/components/apps/index.css +9 -9
  51. package/lib/modules/components/caption-menu/index.css +58 -58
  52. package/lib/modules/components/caption-menu/steps/index.css +73 -73
  53. package/lib/modules/components/control-bar/components/loading/index.css +76 -76
  54. package/lib/modules/components/control-bar/components/progress/style.css +51 -51
  55. package/lib/modules/components/control-bar/components/switch-theme/index.css +101 -101
  56. package/lib/modules/components/control-bar/index.css +99 -99
  57. package/lib/modules/components/device-control/index.css +177 -177
  58. package/lib/modules/components/leave-meeting/components/index.css +151 -151
  59. package/lib/modules/components/leave-meeting/style.css +9 -9
  60. package/lib/modules/components/member-window/components/member-actions/store.js +22 -22
  61. package/lib/modules/components/member-window/index.css +502 -502
  62. package/lib/modules/components/security-menu/index.css +42 -42
  63. package/lib/modules/components/tab-frame/index.css +40 -40
  64. package/lib/modules/components/toolbar/components/item/style.css +94 -94
  65. package/lib/modules/components/toolbar/components/panel/style.css +86 -86
  66. package/lib/modules/components/toolbar/style.css +85 -85
  67. package/lib/modules/connection-gateway/components/computer/index.css +12 -12
  68. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +36 -36
  69. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +72 -72
  70. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +10 -10
  71. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +46 -46
  72. package/lib/modules/connection-gateway/components/phone/index.css +49 -49
  73. package/lib/modules/connection-gateway/index.css +6 -6
  74. package/lib/modules/control-bar/components/meeting-details/index.css +133 -133
  75. package/lib/modules/control-bar/components/more-actions/index.css +103 -103
  76. package/lib/modules/control-bar/components/share-audio/index.css +90 -90
  77. package/lib/modules/control-bar/components/share-state-nav/index.css +79 -79
  78. package/lib/modules/control-bar/index.css +340 -340
  79. package/lib/modules/control-bar/index.js +4 -4
  80. package/lib/modules/device-pretest/index.css +123 -123
  81. package/lib/modules/dialog/components/confirm/index.css +24 -24
  82. package/lib/modules/dialog/components/dialog-container/index.css +112 -112
  83. package/lib/modules/dialog/dialogs/confirm/index.css +24 -24
  84. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +14 -12
  85. package/lib/modules/dialog/dialogs/device-setting/index.css +26 -26
  86. package/lib/modules/dialog/dialogs/interpreter/index.css +30 -30
  87. package/lib/modules/dialog/dialogs/mute-all/index.css +20 -20
  88. package/lib/modules/dialog/dialogs/system-preference/index.css +52 -52
  89. package/lib/modules/dialog/dialogs/widget/index.js +4 -4
  90. package/lib/modules/dialog/index.css +56 -56
  91. package/lib/modules/event-toast/index.css +25 -25
  92. package/lib/modules/interpreter/action/add-btn/index.css +4 -4
  93. package/lib/modules/interpreter/action/delete-btn/index.css +14 -14
  94. package/lib/modules/interpreter/action/switch-btn/index.css +3 -3
  95. package/lib/modules/interpreter/dialog-content/index.css +33 -33
  96. package/lib/modules/interpreter/footer/index.css +11 -11
  97. package/lib/modules/interpreter/index.css +4 -4
  98. package/lib/modules/interpreter/interpreter-list/index.css +8 -8
  99. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +46 -46
  100. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +46 -46
  101. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.css +32 -32
  102. package/lib/modules/interpreter/loading-wrapper/index.css +53 -53
  103. package/lib/modules/invite/components/pstn-invite.js +1 -1
  104. package/lib/modules/invite/components/voip-invite.css +26 -26
  105. package/lib/modules/invite/index.css +331 -331
  106. package/lib/modules/invite/index.d.ts +4 -1
  107. package/lib/modules/invite/index.js +5 -2
  108. package/lib/modules/invite/store.d.ts +4 -0
  109. package/lib/modules/invite/store.js +48 -9
  110. package/lib/modules/invite/view.d.ts +4 -1
  111. package/lib/modules/invite/view.js +25 -10
  112. package/lib/modules/layout/components/CommonVideoRenderer.js +4 -4
  113. package/lib/modules/layout/components/index.css +653 -653
  114. package/lib/modules/layout/index.css +59 -59
  115. package/lib/modules/layout/store.base.js +5 -5
  116. package/lib/modules/layout/type.js +5 -5
  117. package/lib/modules/notification/index.css +77 -77
  118. package/lib/modules/notification/interpreter-status/index.css +76 -76
  119. package/lib/modules/participant/components/confirm-input/index.css +4 -4
  120. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +83 -83
  121. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +87 -87
  122. package/lib/modules/participant/index.css +102 -102
  123. package/lib/modules/participant/store.base.js +175 -175
  124. package/lib/modules/pc-audio-connect/index.css +12 -12
  125. package/lib/modules/pc-audio-connect/main-scene/index.d.ts +1 -1
  126. package/lib/modules/pc-audio-connect/main-scene/index.js +2 -3
  127. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  128. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -36
  129. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -72
  130. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -10
  131. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -46
  132. package/lib/modules/phone-audio-connect/index.css +56 -56
  133. package/lib/modules/secondary-window/store.js +7 -7
  134. package/lib/modules/setting/audio-settings/index.css +195 -195
  135. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +14 -14
  136. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +6 -6
  137. package/lib/modules/setting/caption_and_transcribing/index.css +88 -88
  138. package/lib/modules/setting/general-settings/index.css +41 -41
  139. package/lib/modules/setting/index.css +112 -112
  140. package/lib/modules/setting/minutes-settings/index.css +65 -65
  141. package/lib/modules/setting/state/index.css +207 -207
  142. package/lib/modules/setting/storage-settings/index.css +91 -91
  143. package/lib/modules/setting/translate-settings/index.css +47 -47
  144. package/lib/modules/setting/video-settings/index.css +357 -357
  145. package/lib/modules/share-screen/components/control-bar/index.css +75 -75
  146. package/lib/modules/share-screen/components/selection/index.css +73 -73
  147. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -76
  148. package/lib/modules/share-screen/index.js +10 -10
  149. package/lib/modules/share-screen/store.base.js +2 -2
  150. package/lib/modules/state-bar/assets/fcr_grid_big.svg +3 -3
  151. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +3 -3
  152. package/lib/modules/state-bar/index.css +706 -706
  153. package/lib/modules/state-bar/main-scene/store.base.js +2 -2
  154. package/lib/modules/state-bar/meeting-detail.css +137 -137
  155. package/lib/modules/state-bar/meeting-network-state.css +150 -150
  156. package/lib/modules/state-bar/waiting-scene/store.base.js +2 -2
  157. package/lib/modules/subtitles-history/components/settings/index.css +5 -5
  158. package/lib/modules/subtitles-history/index.css +129 -129
  159. package/lib/modules/video-window/components/members/index.css +51 -51
  160. package/lib/modules/video-window/components/speaking/index.css +86 -86
  161. package/lib/modules/video-window/components/topControl/index.css +35 -35
  162. package/lib/modules/video-window/index.css +21 -21
  163. package/lib/modules/video-window/popover-watcher.js +3 -3
  164. package/lib/modules/video-window/store.js +10 -10
  165. package/lib/modules/waiting-room-layout/index.css +96 -96
  166. package/lib/modules/whiteboard/components/control-bar/index.css +52 -52
  167. package/lib/modules/whiteboard/components/loading/index.css +76 -76
  168. package/lib/modules/whiteboard/components/multi-window/index.css +63 -63
  169. package/lib/modules/whiteboard/components/pagination/index.css +228 -228
  170. package/lib/modules/whiteboard/components/progress/style.css +51 -51
  171. package/lib/modules/whiteboard/components/switch-theme/index.css +99 -99
  172. package/lib/modules/whiteboard/components/toolbar/style.css +591 -591
  173. package/lib/modules/whiteboard/style.css +140 -140
  174. package/lib/modules/widget/index.css +9 -9
  175. package/lib/modules/widget/index.d.ts +1 -0
  176. package/lib/modules/widget/index.js +16 -1
  177. package/lib/modules/widget/store.base.d.ts +1 -0
  178. package/lib/modules/widget/store.base.js +12 -0
  179. package/lib/modules/widget/store.electron.js +5 -0
  180. package/lib/modules/widget/web-widget.d.ts +6 -1
  181. package/lib/modules/widget/web-widget.js +66 -22
  182. package/lib/object-manager.js +8 -8
  183. package/lib/plugins/module-dev-plugin.js +11 -11
  184. package/lib/providers/ability-provider.js +17 -17
  185. package/lib/providers/app-list-provider.d.ts +1 -1
  186. package/lib/providers/app-list-provider.js +9 -7
  187. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  188. package/lib/providers/board-share/bar-control/browser.d.ts +1 -1
  189. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  190. package/lib/providers/board-share/struct.js +6 -6
  191. package/lib/providers/device-stream-provider.d.ts +1 -1
  192. package/lib/providers/dialog/provider.base.js +2 -2
  193. package/lib/providers/dialog/type.js +3 -3
  194. package/lib/providers/multi-display-provider.js +4 -4
  195. package/lib/providers/privilege-provider.js +7 -7
  196. package/lib/providers/screen-share/provider.base.js +23 -23
  197. package/lib/providers/screen-share/stream-state-sync.js +18 -18
  198. package/lib/providers/screen-share/struct.js +24 -24
  199. package/lib/providers/widget-provider.d.ts +13 -2
  200. package/lib/providers/widget-provider.js +60 -9
  201. package/lib/providers/window/main-window.js +2 -2
  202. package/lib/providers/window/provider.js +5 -5
  203. package/lib/providers/window/renderer-window.js +2 -2
  204. package/lib/scenes/main-scene.js +3 -1
  205. package/lib/schema.js +26 -26
  206. package/lib/shared-data/app-list-data.d.ts +0 -3
  207. package/lib/shared-data/app-list-data.js +3 -30
  208. package/lib/shared-data/meeting-time.js +8 -8
  209. package/lib/shared-data/setting.js +3 -3
  210. package/lib/shared-data/video-window.d.ts +1 -1
  211. package/lib/shared-data/video-window.js +1 -1
  212. package/lib/shared-data/widget-data.d.ts +0 -1
  213. package/lib/type.d.ts +1 -0
  214. package/lib/type.js +23 -21
  215. package/lib/ui-scene-switch.js +2 -2
  216. package/lib/utilities/constant.js +6 -6
  217. package/lib/utilities/renderer.js +8 -8
  218. package/lib/utilities/shared-storage.js +2 -2
  219. package/lib/utilities/tools.js +14 -14
  220. package/lib-es/assets/mic-loading.gif +0 -0
  221. package/lib-es/base.js +335 -0
  222. package/lib-es/creator/index.js +543 -0
  223. package/lib-es/creator/provider-initializer.browser.js +322 -0
  224. package/lib-es/creator/provider-initializer.electron.js +359 -0
  225. package/lib-es/creator/type.js +1 -0
  226. package/lib-es/electron/app.js +247 -0
  227. package/lib-es/electron/asar-validation.js +106 -0
  228. package/lib-es/electron/bootstrap-dev.js +45 -0
  229. package/lib-es/electron/bootstrap-sdk.js +198 -0
  230. package/lib-es/electron/default-options.js +18 -0
  231. package/lib-es/electron/env.js +8 -0
  232. package/lib-es/electron/exit-codes.js +20 -0
  233. package/lib-es/electron/hang-detection/index.js +2 -0
  234. package/lib-es/electron/hang-detection/manager.js +225 -0
  235. package/lib-es/electron/hang-detection/types.js +1 -0
  236. package/lib-es/electron/index.js +2 -0
  237. package/lib-es/electron/injections.js +830 -0
  238. package/lib-es/electron/ipc/ipc.js +134 -0
  239. package/lib-es/electron/ipc/type.js +22 -0
  240. package/lib-es/electron/ipc-protocol.js +58 -0
  241. package/lib-es/electron/logger.js +57 -0
  242. package/lib-es/electron/main.js +116 -0
  243. package/lib-es/electron/plugins/devtool-shortcut.js +26 -0
  244. package/lib-es/electron/plugins/meeting-state.js +32 -0
  245. package/lib-es/electron/plugins/screenshot.js +46 -0
  246. package/lib-es/electron/preload.js +42 -0
  247. package/lib-es/electron/process-manager/constants.js +1 -0
  248. package/lib-es/electron/process-manager/event-manager.js +242 -0
  249. package/lib-es/electron/process-manager/index.js +842 -0
  250. package/lib-es/electron/process-manager/state-manager.js +354 -0
  251. package/lib-es/electron/process-manager/types.js +78 -0
  252. package/lib-es/electron/sdk-helper.js +305 -0
  253. package/lib-es/electron/struct.js +21 -0
  254. package/lib-es/electron/until.js +64 -0
  255. package/lib-es/electron/window-proxy/browser-window-proxy.js +720 -0
  256. package/lib-es/electron/window-proxy/main-process-handler.js +441 -0
  257. package/lib-es/electron/window.js +91 -0
  258. package/lib-es/fragments/annotation/index.js +130 -0
  259. package/lib-es/fragments/annotation/libs.js +86 -0
  260. package/lib-es/fragments/annotation/store.js +866 -0
  261. package/lib-es/fragments/annotation/style.css +9 -0
  262. package/lib-es/fragments/annotation/toolbar/components/color-tool/color-panel/index.js +40 -0
  263. package/lib-es/fragments/annotation/toolbar/components/color-tool/index.js +48 -0
  264. package/lib-es/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/index.js +55 -0
  265. package/lib-es/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/libs.js +57 -0
  266. package/lib-es/fragments/annotation/toolbar/components/graphic-tool/index.js +62 -0
  267. package/lib-es/fragments/annotation/toolbar/components/item/item.js +106 -0
  268. package/lib-es/fragments/annotation/toolbar/components/item/style.css +45 -0
  269. package/lib-es/fragments/annotation/toolbar/components/panel/index.js +15 -0
  270. package/lib-es/fragments/annotation/toolbar/components/panel/style.css +24 -0
  271. package/lib-es/fragments/annotation/toolbar/components/pen-tool/index.js +54 -0
  272. package/lib-es/fragments/annotation/toolbar/components/pen-tool/pen-panel/index.js +28 -0
  273. package/lib-es/fragments/annotation/toolbar/components/tips/index.js +18 -0
  274. package/lib-es/fragments/annotation/toolbar/components/tips/style.css +19 -0
  275. package/lib-es/fragments/annotation/toolbar/store.js +292 -0
  276. package/lib-es/fragments/annotation/toolbar/style.css +55 -0
  277. package/lib-es/fragments/annotation/toolbar/view.js +140 -0
  278. package/lib-es/fragments/annotation/utils.js +20 -0
  279. package/lib-es/fragments/annotation/view.js +59 -0
  280. package/lib-es/fragments/base.js +40 -0
  281. package/lib-es/fragments/whiteboard/cursor.css +77 -0
  282. package/lib-es/fragments/whiteboard/index.js +80 -0
  283. package/lib-es/fragments/whiteboard/store.js +487 -0
  284. package/lib-es/fragments/whiteboard/style.css +4 -0
  285. package/lib-es/fragments/whiteboard/view.js +24 -0
  286. package/lib-es/global.css +62 -0
  287. package/lib-es/global.d.ts +27 -0
  288. package/lib-es/hooks/i18n.js +10 -0
  289. package/lib-es/index.js +38 -0
  290. package/lib-es/modules/action-bar/components/apps/index.js +43 -0
  291. package/lib-es/modules/action-bar/components/board/index.js +25 -0
  292. package/lib-es/modules/action-bar/components/breakout-room/index.js +23 -0
  293. package/lib-es/modules/action-bar/components/chat/index.css +88 -0
  294. package/lib-es/modules/action-bar/components/chat/index.js +126 -0
  295. package/lib-es/modules/action-bar/components/collapse/index.js +203 -0
  296. package/lib-es/modules/action-bar/components/confirm-leave-meeting/index.js +70 -0
  297. package/lib-es/modules/action-bar/components/interpreter/index.js +34 -0
  298. package/lib-es/modules/action-bar/components/item/index.js +158 -0
  299. package/lib-es/modules/action-bar/components/leave/index.js +118 -0
  300. package/lib-es/modules/action-bar/components/live-streaming/index.js +32 -0
  301. package/lib-es/modules/action-bar/components/more/index.css +114 -0
  302. package/lib-es/modules/action-bar/components/more/index.js +79 -0
  303. package/lib-es/modules/action-bar/components/more/poppover-content.js +410 -0
  304. package/lib-es/modules/action-bar/components/notification-bar/assets/dome.png +0 -0
  305. package/lib-es/modules/action-bar/components/notification-bar/assets/fcr_translateswitch.png +0 -0
  306. package/lib-es/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -0
  307. package/lib-es/modules/action-bar/components/notification-bar/components/interpreter/index.js +93 -0
  308. package/lib-es/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -0
  309. package/lib-es/modules/action-bar/components/notification-bar/components/virtual-image/index.js +25 -0
  310. package/lib-es/modules/action-bar/components/notification-bar/index.css +74 -0
  311. package/lib-es/modules/action-bar/components/notification-bar/index.js +96 -0
  312. package/lib-es/modules/action-bar/components/participants/index.css +21 -0
  313. package/lib-es/modules/action-bar/components/participants/index.js +52 -0
  314. package/lib-es/modules/action-bar/components/placement/index.js +10 -0
  315. package/lib-es/modules/action-bar/components/record/index.css +39 -0
  316. package/lib-es/modules/action-bar/components/record/index.js +89 -0
  317. package/lib-es/modules/action-bar/components/record/popover.js +50 -0
  318. package/lib-es/modules/action-bar/components/record/stop-record-dialog.js +41 -0
  319. package/lib-es/modules/action-bar/components/respond/index.js +25 -0
  320. package/lib-es/modules/action-bar/components/screen-share/index.browser.js +61 -0
  321. package/lib-es/modules/action-bar/components/screen-share/index.electron.js +78 -0
  322. package/lib-es/modules/action-bar/components/screen-share/index.js +4 -0
  323. package/lib-es/modules/action-bar/components/screen-share/submenu.js +219 -0
  324. package/lib-es/modules/action-bar/components/security/index.js +42 -0
  325. package/lib-es/modules/action-bar/components/settings/index.js +29 -0
  326. package/lib-es/modules/action-bar/components/smaller/index.js +45 -0
  327. package/lib-es/modules/action-bar/components/trigger-output-language/fcr_translateswitch.png +0 -0
  328. package/lib-es/modules/action-bar/components/trigger-output-language/index.css +86 -0
  329. package/lib-es/modules/action-bar/components/trigger-output-language/index.js +228 -0
  330. package/lib-es/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -0
  331. package/lib-es/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.js +62 -0
  332. package/lib-es/modules/action-bar/components/trigger-subscribe-language/index.js +216 -0
  333. package/lib-es/modules/action-bar/constants.js +1 -0
  334. package/lib-es/modules/action-bar/enums.js +28 -0
  335. package/lib-es/modules/action-bar/index.css +358 -0
  336. package/lib-es/modules/action-bar/main-scene/index.js +123 -0
  337. package/lib-es/modules/action-bar/main-scene/store.base.js +1486 -0
  338. package/lib-es/modules/action-bar/main-scene/store.browser.js +105 -0
  339. package/lib-es/modules/action-bar/main-scene/store.electron.js +94 -0
  340. package/lib-es/modules/action-bar/main-scene/view.js +105 -0
  341. package/lib-es/modules/action-bar/type.js +6 -0
  342. package/lib-es/modules/action-bar/waiting-scene/index.js +94 -0
  343. package/lib-es/modules/action-bar/waiting-scene/store.base.js +88 -0
  344. package/lib-es/modules/action-bar/waiting-scene/store.browser.js +17 -0
  345. package/lib-es/modules/action-bar/waiting-scene/store.electron.js +37 -0
  346. package/lib-es/modules/action-bar/waiting-scene/view.js +116 -0
  347. package/lib-es/modules/audio-stream/index.js +393 -0
  348. package/lib-es/modules/caption/draggable-container/index.css +10 -0
  349. package/lib-es/modules/caption/draggable-container/index.js +159 -0
  350. package/lib-es/modules/caption/index.js +117 -0
  351. package/lib-es/modules/caption/store.js +352 -0
  352. package/lib-es/modules/caption/type.js +7 -0
  353. package/lib-es/modules/caption/view.css +158 -0
  354. package/lib-es/modules/caption/view.js +266 -0
  355. package/lib-es/modules/chat/chat-room-store.js +923 -0
  356. package/lib-es/modules/chat/components/chat-action/index.js +21 -0
  357. package/lib-es/modules/chat/components/chat-bar/index.css +89 -0
  358. package/lib-es/modules/chat/components/chat-bar/index.js +141 -0
  359. package/lib-es/modules/chat/components/chat-select/index.css +185 -0
  360. package/lib-es/modules/chat/components/chat-select/index.js +100 -0
  361. package/lib-es/modules/chat/components/chat-select/select-input/index.js +27 -0
  362. package/lib-es/modules/chat/components/chat-select/select-item/index.js +150 -0
  363. package/lib-es/modules/chat/components/chat-tabs/index.js +53 -0
  364. package/lib-es/modules/chat/components/message-list/chat-empty/index.js +18 -0
  365. package/lib-es/modules/chat/components/message-list/history-unread-message-button/index.js +48 -0
  366. package/lib-es/modules/chat/components/message-list/index.js +327 -0
  367. package/lib-es/modules/chat/components/message-list/message-item/index.js +343 -0
  368. package/lib-es/modules/chat/components/message-list/scroll-bottom-button/index.js +60 -0
  369. package/lib-es/modules/chat/index.css +124 -0
  370. package/lib-es/modules/chat/index.dev.js +71 -0
  371. package/lib-es/modules/chat/index.js +168 -0
  372. package/lib-es/modules/chat/mock.js +276 -0
  373. package/lib-es/modules/chat/store.js +359 -0
  374. package/lib-es/modules/chat/types.js +12 -0
  375. package/lib-es/modules/chat/util.js +63 -0
  376. package/lib-es/modules/chat/view.js +312 -0
  377. package/lib-es/modules/components/annotation-menu/index.js +104 -0
  378. package/lib-es/modules/components/apps/app-item/index.css +49 -0
  379. package/lib-es/modules/components/apps/app-item/index.js +130 -0
  380. package/lib-es/modules/components/apps/app-list.js +49 -0
  381. package/lib-es/modules/components/apps/index.css +9 -0
  382. package/lib-es/modules/components/apps/types.js +1 -0
  383. package/lib-es/modules/components/caption-menu/index.css +58 -0
  384. package/lib-es/modules/components/caption-menu/index.js +108 -0
  385. package/lib-es/modules/components/caption-menu/participants-privilege-control-options.js +65 -0
  386. package/lib-es/modules/components/caption-menu/steps/index.css +73 -0
  387. package/lib-es/modules/components/caption-menu/steps/index.js +49 -0
  388. package/lib-es/modules/components/caption-menu/translation-setting-options.js +180 -0
  389. package/lib-es/modules/components/control-bar/components/loading/index.css +76 -0
  390. package/lib-es/modules/components/control-bar/components/loading/index.js +56 -0
  391. package/lib-es/modules/components/control-bar/components/loading/loading.png +0 -0
  392. package/lib-es/modules/components/control-bar/components/progress/index.js +36 -0
  393. package/lib-es/modules/components/control-bar/components/progress/style.css +51 -0
  394. package/lib-es/modules/components/control-bar/components/switch-theme/index.css +101 -0
  395. package/lib-es/modules/components/control-bar/components/switch-theme/index.js +86 -0
  396. package/lib-es/modules/components/control-bar/components/switch-theme/item.js +46 -0
  397. package/lib-es/modules/components/control-bar/components/switch-theme/libs.js +24 -0
  398. package/lib-es/modules/components/control-bar/index.css +99 -0
  399. package/lib-es/modules/components/control-bar/index.js +357 -0
  400. package/lib-es/modules/components/device-control/components/audio-menu/index.js +167 -0
  401. package/lib-es/modules/components/device-control/components/carmera/index.js +108 -0
  402. package/lib-es/modules/components/device-control/components/microphone/index.js +182 -0
  403. package/lib-es/modules/components/device-control/components/none-menu/index.js +61 -0
  404. package/lib-es/modules/components/device-control/components/phone-menu/index.js +54 -0
  405. package/lib-es/modules/components/device-control/components/video-menu/index.js +105 -0
  406. package/lib-es/modules/components/device-control/hooks/index.js +34 -0
  407. package/lib-es/modules/components/device-control/index.css +177 -0
  408. package/lib-es/modules/components/device-control/index.js +14 -0
  409. package/lib-es/modules/components/device-control/main-scene/store.js +88 -0
  410. package/lib-es/modules/components/device-control/store.base.js +242 -0
  411. package/lib-es/modules/components/device-control/type.js +1 -0
  412. package/lib-es/modules/components/device-control/waiting-scene/store.js +84 -0
  413. package/lib-es/modules/components/leave-meeting/components/assign-host.js +101 -0
  414. package/lib-es/modules/components/leave-meeting/components/index.css +151 -0
  415. package/lib-es/modules/components/leave-meeting/index.js +148 -0
  416. package/lib-es/modules/components/leave-meeting/main-scene/store.js +107 -0
  417. package/lib-es/modules/components/leave-meeting/portal.js +22 -0
  418. package/lib-es/modules/components/leave-meeting/store.base.js +299 -0
  419. package/lib-es/modules/components/leave-meeting/style.css +9 -0
  420. package/lib-es/modules/components/leave-meeting/type.js +1 -0
  421. package/lib-es/modules/components/leave-meeting/waiting-scene/store.js +98 -0
  422. package/lib-es/modules/components/member-window/components/member-actions/components/audio-control.js +35 -0
  423. package/lib-es/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +162 -0
  424. package/lib-es/modules/components/member-window/components/member-actions/components/icon-status.js +80 -0
  425. package/lib-es/modules/components/member-window/components/member-actions/components/layout/index.js +23 -0
  426. package/lib-es/modules/components/member-window/components/member-actions/components/more-actions.js +128 -0
  427. package/lib-es/modules/components/member-window/components/member-actions/components/share-status.js +34 -0
  428. package/lib-es/modules/components/member-window/components/member-actions/components/user-info.js +105 -0
  429. package/lib-es/modules/components/member-window/components/member-actions/components/user-tag.js +51 -0
  430. package/lib-es/modules/components/member-window/components/member-actions/index.js +98 -0
  431. package/lib-es/modules/components/member-window/components/member-actions/libs/index.js +14 -0
  432. package/lib-es/modules/components/member-window/components/member-actions/provider.js +70 -0
  433. package/lib-es/modules/components/member-window/components/member-actions/store.js +430 -0
  434. package/lib-es/modules/components/member-window/components/mic-volume.js +16 -0
  435. package/lib-es/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +104 -0
  436. package/lib-es/modules/components/member-window/components/video-player/components/local-video-player.js +1 -0
  437. package/lib-es/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.js +60 -0
  438. package/lib-es/modules/components/member-window/components/video-player/components/remote-video-player.js +1 -0
  439. package/lib-es/modules/components/member-window/components/video-player/components/zoomable-container.js +223 -0
  440. package/lib-es/modules/components/member-window/components/video-player/index.js +37 -0
  441. package/lib-es/modules/components/member-window/index.css +502 -0
  442. package/lib-es/modules/components/member-window/index.js +179 -0
  443. package/lib-es/modules/components/member-window/types.js +1 -0
  444. package/lib-es/modules/components/security-menu/index.css +42 -0
  445. package/lib-es/modules/components/security-menu/index.js +472 -0
  446. package/lib-es/modules/components/security-menu/store.js +388 -0
  447. package/lib-es/modules/components/security-menu/type.js +1 -0
  448. package/lib-es/modules/components/tab-frame/index.css +40 -0
  449. package/lib-es/modules/components/tab-frame/index.js +51 -0
  450. package/lib-es/modules/components/toolbar/components/capture-tool/index.js +58 -0
  451. package/lib-es/modules/components/toolbar/components/clean-tool/index.js +63 -0
  452. package/lib-es/modules/components/toolbar/components/color-tool/color-panel/index.js +70 -0
  453. package/lib-es/modules/components/toolbar/components/color-tool/index.js +58 -0
  454. package/lib-es/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +57 -0
  455. package/lib-es/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +57 -0
  456. package/lib-es/modules/components/toolbar/components/graphic-tool/index.js +72 -0
  457. package/lib-es/modules/components/toolbar/components/group-tool/index.js +35 -0
  458. package/lib-es/modules/components/toolbar/components/icons/fold-icon.js +33 -0
  459. package/lib-es/modules/components/toolbar/components/icons/move-icon.js +59 -0
  460. package/lib-es/modules/components/toolbar/components/item/index.js +157 -0
  461. package/lib-es/modules/components/toolbar/components/item/style.css +94 -0
  462. package/lib-es/modules/components/toolbar/components/multiple-color-tool/index.js +67 -0
  463. package/lib-es/modules/components/toolbar/components/panel/index.js +21 -0
  464. package/lib-es/modules/components/toolbar/components/panel/style.css +86 -0
  465. package/lib-es/modules/components/toolbar/components/pen-tool/index.js +54 -0
  466. package/lib-es/modules/components/toolbar/components/pen-tool/pen-panel/index.js +32 -0
  467. package/lib-es/modules/components/toolbar/components/save-draft/index.js +51 -0
  468. package/lib-es/modules/components/toolbar/components/vertical-frame/index.js +176 -0
  469. package/lib-es/modules/components/toolbar/hooks/use-resize-visible.js +64 -0
  470. package/lib-es/modules/components/toolbar/index.js +235 -0
  471. package/lib-es/modules/components/toolbar/style.css +85 -0
  472. package/lib-es/modules/components/toolbar/types.js +1 -0
  473. package/lib-es/modules/connection-gateway/components/computer/index.css +12 -0
  474. package/lib-es/modules/connection-gateway/components/computer/index.js +59 -0
  475. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.css +36 -0
  476. package/lib-es/modules/connection-gateway/components/phone/components/callinfo/index.js +71 -0
  477. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.css +72 -0
  478. package/lib-es/modules/connection-gateway/components/phone/components/calling/index.js +51 -0
  479. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.css +10 -0
  480. package/lib-es/modules/connection-gateway/components/phone/components/remeber/index.js +17 -0
  481. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.css +46 -0
  482. package/lib-es/modules/connection-gateway/components/phone/components/useing/index.js +29 -0
  483. package/lib-es/modules/connection-gateway/components/phone/index.css +49 -0
  484. package/lib-es/modules/connection-gateway/components/phone/index.js +177 -0
  485. package/lib-es/modules/connection-gateway/enums.js +5 -0
  486. package/lib-es/modules/connection-gateway/index.css +6 -0
  487. package/lib-es/modules/connection-gateway/index.js +60 -0
  488. package/lib-es/modules/connection-gateway/store.js +709 -0
  489. package/lib-es/modules/connection-gateway/types.js +1 -0
  490. package/lib-es/modules/connection-gateway/view.js +31 -0
  491. package/lib-es/modules/control-bar/components/apps-popover/index.js +34 -0
  492. package/lib-es/modules/control-bar/components/boundary-detector.js +49 -0
  493. package/lib-es/modules/control-bar/components/carmera/index.js +107 -0
  494. package/lib-es/modules/control-bar/components/cloud-recording-buttons.js +109 -0
  495. package/lib-es/modules/control-bar/components/meeting-details/index.css +133 -0
  496. package/lib-es/modules/control-bar/components/meeting-details/index.js +230 -0
  497. package/lib-es/modules/control-bar/components/microphone/index.js +185 -0
  498. package/lib-es/modules/control-bar/components/more-actions/index.css +103 -0
  499. package/lib-es/modules/control-bar/components/more-actions/index.js +158 -0
  500. package/lib-es/modules/control-bar/components/share-audio/index.css +90 -0
  501. package/lib-es/modules/control-bar/components/share-audio/index.js +142 -0
  502. package/lib-es/modules/control-bar/components/share-state-nav/index.css +79 -0
  503. package/lib-es/modules/control-bar/components/share-state-nav/index.js +122 -0
  504. package/lib-es/modules/control-bar/components/stop-live-streaming/index.js +29 -0
  505. package/lib-es/modules/control-bar/components/stop-live-streaming/stop-button.js +28 -0
  506. package/lib-es/modules/control-bar/components/transfer-position-icon/index.js +34 -0
  507. package/lib-es/modules/control-bar/context.js +5 -0
  508. package/lib-es/modules/control-bar/enums.js +27 -0
  509. package/lib-es/modules/control-bar/hooks.js +168 -0
  510. package/lib-es/modules/control-bar/index.css +340 -0
  511. package/lib-es/modules/control-bar/index.dev.js +37 -0
  512. package/lib-es/modules/control-bar/index.js +144 -0
  513. package/lib-es/modules/control-bar/store.js +781 -0
  514. package/lib-es/modules/control-bar/type.js +1 -0
  515. package/lib-es/modules/control-bar/view.js +663 -0
  516. package/lib-es/modules/device-pretest/assets/virtual-backdound-resources.js +14 -0
  517. package/lib-es/modules/device-pretest/audio-preview/microphone-detection.js +64 -0
  518. package/lib-es/modules/device-pretest/audio-preview/speaker-control.js +58 -0
  519. package/lib-es/modules/device-pretest/audio-preview/speaker-detection.js +63 -0
  520. package/lib-es/modules/device-pretest/index.css +123 -0
  521. package/lib-es/modules/device-pretest/index.js +234 -0
  522. package/lib-es/modules/device-pretest/settings/beauty.js +107 -0
  523. package/lib-es/modules/device-pretest/settings/camera-select.js +45 -0
  524. package/lib-es/modules/device-pretest/settings/video-effect.js +43 -0
  525. package/lib-es/modules/device-pretest/settings/video-settings-basic.js +137 -0
  526. package/lib-es/modules/device-pretest/settings/virtual-background-setting.js +94 -0
  527. package/lib-es/modules/device-pretest/store.js +437 -0
  528. package/lib-es/modules/dialog/components/confirm/index.css +24 -0
  529. package/lib-es/modules/dialog/components/confirm/index.js +154 -0
  530. package/lib-es/modules/dialog/components/dialog-container/component/body.js +103 -0
  531. package/lib-es/modules/dialog/components/dialog-container/index.css +112 -0
  532. package/lib-es/modules/dialog/components/dialog-container/index.js +135 -0
  533. package/lib-es/modules/dialog/components/host-area-container/index.js +146 -0
  534. package/lib-es/modules/dialog/components/normal-window/index.js +53 -0
  535. package/lib-es/modules/dialog/dialogs/annotation-tool/index.js +47 -0
  536. package/lib-es/modules/dialog/dialogs/caption/index.js +35 -0
  537. package/lib-es/modules/dialog/dialogs/chat/components/actions.js +36 -0
  538. package/lib-es/modules/dialog/dialogs/chat/index.js +74 -0
  539. package/lib-es/modules/dialog/dialogs/confirm/index.css +24 -0
  540. package/lib-es/modules/dialog/dialogs/confirm/index.js +51 -0
  541. package/lib-es/modules/dialog/dialogs/confirm-leave-meeting/index.js +38 -0
  542. package/lib-es/modules/dialog/dialogs/connection-gateway/index.js +40 -0
  543. package/lib-es/modules/dialog/dialogs/connection-gateway/tabs.js +40 -0
  544. package/lib-es/modules/dialog/dialogs/control-bar/index.js +29 -0
  545. package/lib-es/modules/dialog/dialogs/control-bar-leave-meeting/index.js +33 -0
  546. package/lib-es/modules/dialog/dialogs/device-setting/index.css +26 -0
  547. package/lib-es/modules/dialog/dialogs/device-setting/index.js +36 -0
  548. package/lib-es/modules/dialog/dialogs/end-meeting/index.js +48 -0
  549. package/lib-es/modules/dialog/dialogs/interpreter/index.css +30 -0
  550. package/lib-es/modules/dialog/dialogs/interpreter/index.js +38 -0
  551. package/lib-es/modules/dialog/dialogs/invite/index.js +51 -0
  552. package/lib-es/modules/dialog/dialogs/live-streaming/index.js +30 -0
  553. package/lib-es/modules/dialog/dialogs/mute-all/index.css +20 -0
  554. package/lib-es/modules/dialog/dialogs/mute-all/index.js +42 -0
  555. package/lib-es/modules/dialog/dialogs/participant/components/actions.js +23 -0
  556. package/lib-es/modules/dialog/dialogs/participant/components/title.js +9 -0
  557. package/lib-es/modules/dialog/dialogs/participant/index.js +52 -0
  558. package/lib-es/modules/dialog/dialogs/rename/index.js +43 -0
  559. package/lib-es/modules/dialog/dialogs/sample-dialog/index.js +48 -0
  560. package/lib-es/modules/dialog/dialogs/share-screen-selection/index.js +32 -0
  561. package/lib-es/modules/dialog/dialogs/sub-window/index.js +31 -0
  562. package/lib-es/modules/dialog/dialogs/subtitles-history/index.js +44 -0
  563. package/lib-es/modules/dialog/dialogs/system-preference/assets/bg1.png +0 -0
  564. package/lib-es/modules/dialog/dialogs/system-preference/assets/bg2.png +0 -0
  565. package/lib-es/modules/dialog/dialogs/system-preference/assets/fcr_png_host.png +0 -0
  566. package/lib-es/modules/dialog/dialogs/system-preference/electron.js +31 -0
  567. package/lib-es/modules/dialog/dialogs/system-preference/index.css +52 -0
  568. package/lib-es/modules/dialog/dialogs/system-preference/index.js +130 -0
  569. package/lib-es/modules/dialog/dialogs/toast/index.js +28 -0
  570. package/lib-es/modules/dialog/dialogs/video-window/index.js +55 -0
  571. package/lib-es/modules/dialog/dialogs/whiteboard/index.js +60 -0
  572. package/lib-es/modules/dialog/dialogs/widget/index.js +40 -0
  573. package/lib-es/modules/dialog/hooks/use-web-drag.js +64 -0
  574. package/lib-es/modules/dialog/index.css +56 -0
  575. package/lib-es/modules/dialog/index.js +70 -0
  576. package/lib-es/modules/dialog/level-config.js +11 -0
  577. package/lib-es/modules/dialog/store.base.js +272 -0
  578. package/lib-es/modules/dialog/store.browser.js +135 -0
  579. package/lib-es/modules/dialog/store.electron.js +284 -0
  580. package/lib-es/modules/dialog/type.js +1 -0
  581. package/lib-es/modules/dialog/view.js +28 -0
  582. package/lib-es/modules/event-sound/enum.js +13 -0
  583. package/lib-es/modules/event-sound/index.js +49 -0
  584. package/lib-es/modules/event-sound/sound-effect-player.js +49 -0
  585. package/lib-es/modules/event-sound/store.js +275 -0
  586. package/lib-es/modules/event-sound/type.js +1 -0
  587. package/lib-es/modules/event-toast/index.css +25 -0
  588. package/lib-es/modules/event-toast/index.js +82 -0
  589. package/lib-es/modules/event-toast/store.base.js +193 -0
  590. package/lib-es/modules/event-toast/store.browser.js +23 -0
  591. package/lib-es/modules/event-toast/store.electron.js +138 -0
  592. package/lib-es/modules/event-toast/type.js +1 -0
  593. package/lib-es/modules/event-toast/view.js +37 -0
  594. package/lib-es/modules/interpreter/action/add-btn/index.css +4 -0
  595. package/lib-es/modules/interpreter/action/add-btn/index.js +35 -0
  596. package/lib-es/modules/interpreter/action/delete-btn/index.css +14 -0
  597. package/lib-es/modules/interpreter/action/delete-btn/index.js +31 -0
  598. package/lib-es/modules/interpreter/action/edit-btn/index.js +39 -0
  599. package/lib-es/modules/interpreter/action/switch-btn/index.css +3 -0
  600. package/lib-es/modules/interpreter/action/switch-btn/index.js +44 -0
  601. package/lib-es/modules/interpreter/dialog-content/index.css +33 -0
  602. package/lib-es/modules/interpreter/dialog-content/index.js +30 -0
  603. package/lib-es/modules/interpreter/footer/index.css +11 -0
  604. package/lib-es/modules/interpreter/footer/index.js +18 -0
  605. package/lib-es/modules/interpreter/index.css +4 -0
  606. package/lib-es/modules/interpreter/index.js +109 -0
  607. package/lib-es/modules/interpreter/interpreter-list/index.css +8 -0
  608. package/lib-es/modules/interpreter/interpreter-list/index.js +30 -0
  609. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +46 -0
  610. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +173 -0
  611. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ar.png +0 -0
  612. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_cn.png +0 -0
  613. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_de.png +0 -0
  614. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_en.png +0 -0
  615. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_es.png +0 -0
  616. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_fr.png +0 -0
  617. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_hi.png +0 -0
  618. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_id.png +0 -0
  619. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_it.png +0 -0
  620. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_jp.png +0 -0
  621. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ko.png +0 -0
  622. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ms.png +0 -0
  623. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_pt.png +0 -0
  624. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ru.png +0 -0
  625. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_th.png +0 -0
  626. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_tr.png +0 -0
  627. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_vi.png +0 -0
  628. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +169 -0
  629. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +46 -0
  630. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +120 -0
  631. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +51 -0
  632. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/index.css +32 -0
  633. package/lib-es/modules/interpreter/interpreter-list/interpreter-item/index.js +40 -0
  634. package/lib-es/modules/interpreter/loading-wrapper/index.css +53 -0
  635. package/lib-es/modules/interpreter/loading-wrapper/index.js +20 -0
  636. package/lib-es/modules/interpreter/store.js +614 -0
  637. package/lib-es/modules/interpreter/tooltip-wrapper/index.js +23 -0
  638. package/lib-es/modules/interpreter/type.js +5 -0
  639. package/lib-es/modules/interpreter/utils.js +54 -0
  640. package/lib-es/modules/interpreter/view.js +62 -0
  641. package/lib-es/modules/invite/components/error-tips.js +11 -0
  642. package/lib-es/modules/invite/components/pstn-invite.js +245 -0
  643. package/lib-es/modules/invite/components/voip-invite.css +26 -0
  644. package/lib-es/modules/invite/components/voip-invite.js +265 -0
  645. package/lib-es/modules/invite/enums.js +27 -0
  646. package/lib-es/modules/invite/index.css +331 -0
  647. package/lib-es/modules/invite/index.js +64 -0
  648. package/lib-es/modules/invite/store.js +578 -0
  649. package/lib-es/modules/invite/types.js +1 -0
  650. package/lib-es/modules/invite/view.js +46 -0
  651. package/lib-es/modules/layout/components/Aside.js +208 -0
  652. package/lib-es/modules/layout/components/Carousel.js +192 -0
  653. package/lib-es/modules/layout/components/CommonVideoRenderer.js +265 -0
  654. package/lib-es/modules/layout/components/Gallery.js +256 -0
  655. package/lib-es/modules/layout/components/index.css +653 -0
  656. package/lib-es/modules/layout/components/index.js +5 -0
  657. package/lib-es/modules/layout/components/utils.js +3 -0
  658. package/lib-es/modules/layout/components/who-is-speaking.js +49 -0
  659. package/lib-es/modules/layout/index.css +59 -0
  660. package/lib-es/modules/layout/index.dev.js +313 -0
  661. package/lib-es/modules/layout/index.js +74 -0
  662. package/lib-es/modules/layout/store.base.js +1468 -0
  663. package/lib-es/modules/layout/store.browser.js +49 -0
  664. package/lib-es/modules/layout/store.electron.js +175 -0
  665. package/lib-es/modules/layout/type.js +59 -0
  666. package/lib-es/modules/layout/view.js +149 -0
  667. package/lib-es/modules/live-streaming/index.css +0 -0
  668. package/lib-es/modules/live-streaming/index.dev.js +56 -0
  669. package/lib-es/modules/live-streaming/index.js +60 -0
  670. package/lib-es/modules/live-streaming/store.js +246 -0
  671. package/lib-es/modules/live-streaming/type.js +1 -0
  672. package/lib-es/modules/live-streaming/view.js +26 -0
  673. package/lib-es/modules/notification/index.css +77 -0
  674. package/lib-es/modules/notification/index.js +59 -0
  675. package/lib-es/modules/notification/interpreter-status/index.css +76 -0
  676. package/lib-es/modules/notification/interpreter-status/index.js +55 -0
  677. package/lib-es/modules/notification/store.js +122 -0
  678. package/lib-es/modules/notification/type.js +1 -0
  679. package/lib-es/modules/notification/view.js +127 -0
  680. package/lib-es/modules/offscreen-pulling/index.js +122 -0
  681. package/lib-es/modules/participant/components/can-moveable/index.js +59 -0
  682. package/lib-es/modules/participant/components/confirm-input/index.css +4 -0
  683. package/lib-es/modules/participant/components/confirm-input/index.js +112 -0
  684. package/lib-es/modules/participant/components/mute-all/index.js +67 -0
  685. package/lib-es/modules/participant/components/operate-waitingroom-member/index.js +40 -0
  686. package/lib-es/modules/participant/components/participants/components/footer/components/buttons.js +45 -0
  687. package/lib-es/modules/participant/components/participants/components/footer/components/drop-menu/index.css +83 -0
  688. package/lib-es/modules/participant/components/participants/components/footer/components/drop-menu/index.js +156 -0
  689. package/lib-es/modules/participant/components/participants/components/footer/components/drop-menu/util.js +21 -0
  690. package/lib-es/modules/participant/components/participants/components/footer/index.js +42 -0
  691. package/lib-es/modules/participant/components/participants/components/merge/index.js +40 -0
  692. package/lib-es/modules/participant/components/participants/components/render-tab/index.js +42 -0
  693. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +40 -0
  694. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +21 -0
  695. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.js +32 -0
  696. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/index.css +87 -0
  697. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/index.js +138 -0
  698. package/lib-es/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.js +25 -0
  699. package/lib-es/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +70 -0
  700. package/lib-es/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.js +20 -0
  701. package/lib-es/modules/participant/components/participants/components/render-user/components/user-action/index.js +70 -0
  702. package/lib-es/modules/participant/components/participants/components/render-user/index.js +16 -0
  703. package/lib-es/modules/participant/components/participants/index.js +71 -0
  704. package/lib-es/modules/participant/index.css +102 -0
  705. package/lib-es/modules/participant/index.dev.js +87 -0
  706. package/lib-es/modules/participant/index.js +137 -0
  707. package/lib-es/modules/participant/member-list-data-source.js +297 -0
  708. package/lib-es/modules/participant/store.base.js +2354 -0
  709. package/lib-es/modules/participant/store.browser.js +117 -0
  710. package/lib-es/modules/participant/store.electron.js +124 -0
  711. package/lib-es/modules/participant/struct.js +55 -0
  712. package/lib-es/modules/participant/type.js +7 -0
  713. package/lib-es/modules/participant/view.js +18 -0
  714. package/lib-es/modules/pc-audio-connect/index.css +12 -0
  715. package/lib-es/modules/pc-audio-connect/main-scene/index.js +67 -0
  716. package/lib-es/modules/pc-audio-connect/main-scene/store.js +313 -0
  717. package/lib-es/modules/pc-audio-connect/types.js +1 -0
  718. package/lib-es/modules/pc-audio-connect/view.js +60 -0
  719. package/lib-es/modules/pc-audio-connect/waiting-scene/index.js +61 -0
  720. package/lib-es/modules/pc-audio-connect/waiting-scene/store.js +293 -0
  721. package/lib-es/modules/phone-audio-connect/components/callinfo/index.css +36 -0
  722. package/lib-es/modules/phone-audio-connect/components/callinfo/index.js +71 -0
  723. package/lib-es/modules/phone-audio-connect/components/calling/index.css +72 -0
  724. package/lib-es/modules/phone-audio-connect/components/calling/index.js +51 -0
  725. package/lib-es/modules/phone-audio-connect/components/remeber/index.css +10 -0
  726. package/lib-es/modules/phone-audio-connect/components/remeber/index.js +17 -0
  727. package/lib-es/modules/phone-audio-connect/components/useing/index.css +46 -0
  728. package/lib-es/modules/phone-audio-connect/components/useing/index.js +29 -0
  729. package/lib-es/modules/phone-audio-connect/enums.js +5 -0
  730. package/lib-es/modules/phone-audio-connect/index.css +56 -0
  731. package/lib-es/modules/phone-audio-connect/index.js +52 -0
  732. package/lib-es/modules/phone-audio-connect/store.js +317 -0
  733. package/lib-es/modules/phone-audio-connect/types.js +1 -0
  734. package/lib-es/modules/phone-audio-connect/view.js +177 -0
  735. package/lib-es/modules/secondary-window/index.js +147 -0
  736. package/lib-es/modules/secondary-window/store.js +502 -0
  737. package/lib-es/modules/secondary-window/type.js +28 -0
  738. package/lib-es/modules/secondary-window/view.js +281 -0
  739. package/lib-es/modules/setting/audio-settings/audio-settings.js +292 -0
  740. package/lib-es/modules/setting/audio-settings/index.css +195 -0
  741. package/lib-es/modules/setting/audio-whiteList/audio-device-adaptation.js +62 -0
  742. package/lib-es/modules/setting/audio-whiteList/audio-whiteList-manager.js +368 -0
  743. package/lib-es/modules/setting/caption_and_transcribing/index.css +88 -0
  744. package/lib-es/modules/setting/caption_and_transcribing/index.js +89 -0
  745. package/lib-es/modules/setting/general-settings/general-settings.js +148 -0
  746. package/lib-es/modules/setting/general-settings/index.css +41 -0
  747. package/lib-es/modules/setting/index.css +112 -0
  748. package/lib-es/modules/setting/index.dev.js +120 -0
  749. package/lib-es/modules/setting/index.js +145 -0
  750. package/lib-es/modules/setting/minutes-settings/index.css +65 -0
  751. package/lib-es/modules/setting/minutes-settings/minutes-settings.js +146 -0
  752. package/lib-es/modules/setting/state/index.css +207 -0
  753. package/lib-es/modules/setting/state/index.js +322 -0
  754. package/lib-es/modules/setting/storage-settings/index.css +91 -0
  755. package/lib-es/modules/setting/storage-settings/storage-settings.js +65 -0
  756. package/lib-es/modules/setting/store.base.js +1440 -0
  757. package/lib-es/modules/setting/store.browser.js +43 -0
  758. package/lib-es/modules/setting/store.electron.js +168 -0
  759. package/lib-es/modules/setting/translate-settings/index.css +47 -0
  760. package/lib-es/modules/setting/translate-settings/language-select.js +40 -0
  761. package/lib-es/modules/setting/translate-settings/translate-settings.js +131 -0
  762. package/lib-es/modules/setting/type.js +14 -0
  763. package/lib-es/modules/setting/video-settings/index.css +357 -0
  764. package/lib-es/modules/setting/video-settings/video-settings-basic.js +131 -0
  765. package/lib-es/modules/setting/video-settings/video-settings.js +167 -0
  766. package/lib-es/modules/setting/view.js +147 -0
  767. package/lib-es/modules/share-screen/components/control-bar/index.css +75 -0
  768. package/lib-es/modules/share-screen/components/control-bar/index.js +92 -0
  769. package/lib-es/modules/share-screen/components/control-bar/items/annotation-edit-btn/index.js +38 -0
  770. package/lib-es/modules/share-screen/components/control-bar/items/full-container-btn/index.js +25 -0
  771. package/lib-es/modules/share-screen/components/control-bar/items/original-size-btn/index.js +25 -0
  772. package/lib-es/modules/share-screen/components/control-bar/items/zoom-in-btn/index.js +25 -0
  773. package/lib-es/modules/share-screen/components/control-bar/items/zoom-out-btn/index.js +25 -0
  774. package/lib-es/modules/share-screen/components/selection/index.css +73 -0
  775. package/lib-es/modules/share-screen/components/selection/index.js +220 -0
  776. package/lib-es/modules/share-screen/components/share-scenario/index.js +40 -0
  777. package/lib-es/modules/share-screen/components/share-state-bar/index.css +76 -0
  778. package/lib-es/modules/share-screen/components/share-state-bar/index.js +90 -0
  779. package/lib-es/modules/share-screen/index.css +0 -0
  780. package/lib-es/modules/share-screen/index.dev.js +90 -0
  781. package/lib-es/modules/share-screen/index.js +99 -0
  782. package/lib-es/modules/share-screen/store.base.js +464 -0
  783. package/lib-es/modules/share-screen/store.browser.js +36 -0
  784. package/lib-es/modules/share-screen/store.electron.js +429 -0
  785. package/lib-es/modules/share-screen/type.js +8 -0
  786. package/lib-es/modules/share-screen/view.js +24 -0
  787. package/lib-es/modules/state-bar/assets/fcr_grid_big.svg +3 -0
  788. package/lib-es/modules/state-bar/assets/fcr_listontop_big.svg +3 -0
  789. package/lib-es/modules/state-bar/assets/live-streaming.gif +0 -0
  790. package/lib-es/modules/state-bar/index.css +706 -0
  791. package/lib-es/modules/state-bar/index.dev.js +78 -0
  792. package/lib-es/modules/state-bar/index.js +41 -0
  793. package/lib-es/modules/state-bar/layout-config.js +168 -0
  794. package/lib-es/modules/state-bar/live-streaming-state.js +169 -0
  795. package/lib-es/modules/state-bar/main-scene/index.js +39 -0
  796. package/lib-es/modules/state-bar/main-scene/store.base.js +137 -0
  797. package/lib-es/modules/state-bar/main-scene/store.browser.js +80 -0
  798. package/lib-es/modules/state-bar/main-scene/store.electron.js +107 -0
  799. package/lib-es/modules/state-bar/meeting-detail.css +137 -0
  800. package/lib-es/modules/state-bar/meeting-details.js +219 -0
  801. package/lib-es/modules/state-bar/meeting-network-state.css +150 -0
  802. package/lib-es/modules/state-bar/meeting-network-state.js +107 -0
  803. package/lib-es/modules/state-bar/meeting-time.js +25 -0
  804. package/lib-es/modules/state-bar/network-quality.js +26 -0
  805. package/lib-es/modules/state-bar/recording.js +103 -0
  806. package/lib-es/modules/state-bar/store.base.electron.js +108 -0
  807. package/lib-es/modules/state-bar/store.base.js +616 -0
  808. package/lib-es/modules/state-bar/subtitles-history-state.js +101 -0
  809. package/lib-es/modules/state-bar/type.js +1 -0
  810. package/lib-es/modules/state-bar/view.js +241 -0
  811. package/lib-es/modules/state-bar/waiting-scene/index.js +39 -0
  812. package/lib-es/modules/state-bar/waiting-scene/store.base.js +48 -0
  813. package/lib-es/modules/state-bar/waiting-scene/store.browser.js +80 -0
  814. package/lib-es/modules/state-bar/waiting-scene/store.electron.js +99 -0
  815. package/lib-es/modules/subtitles-history/components/actions.js +29 -0
  816. package/lib-es/modules/subtitles-history/components/list-item.js +95 -0
  817. package/lib-es/modules/subtitles-history/components/list.js +175 -0
  818. package/lib-es/modules/subtitles-history/components/respond-dialog-content.js +36 -0
  819. package/lib-es/modules/subtitles-history/components/settings/index.css +5 -0
  820. package/lib-es/modules/subtitles-history/components/settings/index.js +46 -0
  821. package/lib-es/modules/subtitles-history/components/timer.js +36 -0
  822. package/lib-es/modules/subtitles-history/components/title.js +8 -0
  823. package/lib-es/modules/subtitles-history/empty.js +14 -0
  824. package/lib-es/modules/subtitles-history/index.css +129 -0
  825. package/lib-es/modules/subtitles-history/index.js +89 -0
  826. package/lib-es/modules/subtitles-history/store.base.js +790 -0
  827. package/lib-es/modules/subtitles-history/store.electron.js +148 -0
  828. package/lib-es/modules/subtitles-history/type.js +1 -0
  829. package/lib-es/modules/subtitles-history/view.js +96 -0
  830. package/lib-es/modules/video-window/components/deviceState/index.js +68 -0
  831. package/lib-es/modules/video-window/components/members/index.css +51 -0
  832. package/lib-es/modules/video-window/components/members/index.js +116 -0
  833. package/lib-es/modules/video-window/components/speaking/index.css +86 -0
  834. package/lib-es/modules/video-window/components/speaking/index.js +40 -0
  835. package/lib-es/modules/video-window/components/topControl/index.css +35 -0
  836. package/lib-es/modules/video-window/components/topControl/index.js +68 -0
  837. package/lib-es/modules/video-window/index.css +21 -0
  838. package/lib-es/modules/video-window/index.js +82 -0
  839. package/lib-es/modules/video-window/popover-watcher.js +69 -0
  840. package/lib-es/modules/video-window/store.js +512 -0
  841. package/lib-es/modules/video-window/type.js +19 -0
  842. package/lib-es/modules/video-window/view.js +107 -0
  843. package/lib-es/modules/waiting-room-layout/index.css +96 -0
  844. package/lib-es/modules/waiting-room-layout/index.js +67 -0
  845. package/lib-es/modules/waiting-room-layout/store.js +231 -0
  846. package/lib-es/modules/waiting-room-layout/view.js +87 -0
  847. package/lib-es/modules/whiteboard/components/control-bar/index.css +52 -0
  848. package/lib-es/modules/whiteboard/components/control-bar/index.js +151 -0
  849. package/lib-es/modules/whiteboard/components/control-bar/store.js +298 -0
  850. package/lib-es/modules/whiteboard/components/loading/index.css +76 -0
  851. package/lib-es/modules/whiteboard/components/loading/index.js +57 -0
  852. package/lib-es/modules/whiteboard/components/loading/loading.png +0 -0
  853. package/lib-es/modules/whiteboard/components/multi-window/index.css +63 -0
  854. package/lib-es/modules/whiteboard/components/multi-window/index.js +31 -0
  855. package/lib-es/modules/whiteboard/components/pagination/index.css +228 -0
  856. package/lib-es/modules/whiteboard/components/pagination/index.js +155 -0
  857. package/lib-es/modules/whiteboard/components/pagination/store.js +10 -0
  858. package/lib-es/modules/whiteboard/components/progress/index.js +36 -0
  859. package/lib-es/modules/whiteboard/components/progress/style.css +51 -0
  860. package/lib-es/modules/whiteboard/components/scene-pagination.js +23 -0
  861. package/lib-es/modules/whiteboard/components/switch-theme/index.css +99 -0
  862. package/lib-es/modules/whiteboard/components/switch-theme/index.js +89 -0
  863. package/lib-es/modules/whiteboard/components/switch-theme/item.js +46 -0
  864. package/lib-es/modules/whiteboard/components/switch-theme/libs.js +24 -0
  865. package/lib-es/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +30 -0
  866. package/lib-es/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +101 -0
  867. package/lib-es/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +67 -0
  868. package/lib-es/modules/whiteboard/components/toolbar/components/color-picker/index.js +40 -0
  869. package/lib-es/modules/whiteboard/components/toolbar/components/eraser-picker.js +136 -0
  870. package/lib-es/modules/whiteboard/components/toolbar/components/expansion/index.js +85 -0
  871. package/lib-es/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +46 -0
  872. package/lib-es/modules/whiteboard/components/toolbar/components/history.js +70 -0
  873. package/lib-es/modules/whiteboard/components/toolbar/components/icons/fold-icon.js +33 -0
  874. package/lib-es/modules/whiteboard/components/toolbar/components/icons/move-icon.js +59 -0
  875. package/lib-es/modules/whiteboard/components/toolbar/components/item/index.js +35 -0
  876. package/lib-es/modules/whiteboard/components/toolbar/components/move-handle.js +127 -0
  877. package/lib-es/modules/whiteboard/components/toolbar/components/pen-picker.js +147 -0
  878. package/lib-es/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +78 -0
  879. package/lib-es/modules/whiteboard/components/toolbar/components/shape-picker.js +202 -0
  880. package/lib-es/modules/whiteboard/components/toolbar/hooks/index.js +285 -0
  881. package/lib-es/modules/whiteboard/components/toolbar/index.js +72 -0
  882. package/lib-es/modules/whiteboard/components/toolbar/store.js +484 -0
  883. package/lib-es/modules/whiteboard/components/toolbar/style.css +591 -0
  884. package/lib-es/modules/whiteboard/context.js +28 -0
  885. package/lib-es/modules/whiteboard/index.js +67 -0
  886. package/lib-es/modules/whiteboard/libs/theme.js +24 -0
  887. package/lib-es/modules/whiteboard/store.browser.js +20 -0
  888. package/lib-es/modules/whiteboard/store.electron.js +163 -0
  889. package/lib-es/modules/whiteboard/store.js +457 -0
  890. package/lib-es/modules/whiteboard/style.css +140 -0
  891. package/lib-es/modules/whiteboard/type.js +52 -0
  892. package/lib-es/modules/whiteboard/utils.js +29 -0
  893. package/lib-es/modules/whiteboard/view.js +105 -0
  894. package/lib-es/modules/widget/index.css +9 -0
  895. package/lib-es/modules/widget/index.js +129 -0
  896. package/lib-es/modules/widget/store.base.js +35 -0
  897. package/lib-es/modules/widget/store.browser.js +74 -0
  898. package/lib-es/modules/widget/store.electron.js +127 -0
  899. package/lib-es/modules/widget/type.js +1 -0
  900. package/lib-es/modules/widget/view.js +49 -0
  901. package/lib-es/modules/widget/web-widget.js +263 -0
  902. package/lib-es/object-manager.js +194 -0
  903. package/lib-es/plugins/browser-runtime-plugin.js +0 -0
  904. package/lib-es/plugins/css-preset-plugin.js +18 -0
  905. package/lib-es/plugins/electron-rtc-plugin.js +3 -0
  906. package/lib-es/plugins/module-dev-plugin.js +162 -0
  907. package/lib-es/plugins/multi-lang-plugin.js +18 -0
  908. package/lib-es/plugins/rtm-plugin.js +3 -0
  909. package/lib-es/plugins/web-rtc-plugin.js +3 -0
  910. package/lib-es/providers/ability-provider.js +76 -0
  911. package/lib-es/providers/annotation/provider.js +61 -0
  912. package/lib-es/providers/annotation/type.js +1 -0
  913. package/lib-es/providers/app-list-provider.js +392 -0
  914. package/lib-es/providers/board-share/bar-control/base.js +318 -0
  915. package/lib-es/providers/board-share/bar-control/browser.js +34 -0
  916. package/lib-es/providers/board-share/bar-control/electron.js +211 -0
  917. package/lib-es/providers/board-share/provider.base.js +406 -0
  918. package/lib-es/providers/board-share/provider.browser.js +147 -0
  919. package/lib-es/providers/board-share/provider.electron.js +162 -0
  920. package/lib-es/providers/board-share/struct.js +16 -0
  921. package/lib-es/providers/board-share/type.js +1 -0
  922. package/lib-es/providers/chat-provider.js +166 -0
  923. package/lib-es/providers/device-privilege-provider.js +402 -0
  924. package/lib-es/providers/device-provider.js +2148 -0
  925. package/lib-es/providers/device-stream-provider.js +418 -0
  926. package/lib-es/providers/dialog/provider.base.js +282 -0
  927. package/lib-es/providers/dialog/provider.browser.js +160 -0
  928. package/lib-es/providers/dialog/provider.electron.js +273 -0
  929. package/lib-es/providers/dialog/type.js +8 -0
  930. package/lib-es/providers/event-provider.js +50 -0
  931. package/lib-es/providers/facility/provider.base.js +152 -0
  932. package/lib-es/providers/facility/provider.browser.js +67 -0
  933. package/lib-es/providers/facility/provider.electron.js +83 -0
  934. package/lib-es/providers/facility/struct.js +6 -0
  935. package/lib-es/providers/facility/type.js +1 -0
  936. package/lib-es/providers/interpreter-provider.js +955 -0
  937. package/lib-es/providers/local-storage-provider.js +37 -0
  938. package/lib-es/providers/message/provider.js +97 -0
  939. package/lib-es/providers/message/struct.js +5 -0
  940. package/lib-es/providers/message/type.js +1 -0
  941. package/lib-es/providers/monitor-provider.js +22 -0
  942. package/lib-es/providers/mouse-detect/provider.js +312 -0
  943. package/lib-es/providers/mouse-detect/struct.js +5 -0
  944. package/lib-es/providers/mouse-detect/type.js +1 -0
  945. package/lib-es/providers/multi-display-provider.js +603 -0
  946. package/lib-es/providers/phone-audio-provider.js +512 -0
  947. package/lib-es/providers/privilege-provider.js +1158 -0
  948. package/lib-es/providers/renderer-provider.js +310 -0
  949. package/lib-es/providers/room-provider/room-provider.js +730 -0
  950. package/lib-es/providers/room-provider/waiting-room-control-manager.js +224 -0
  951. package/lib-es/providers/screen-share/constant.js +1 -0
  952. package/lib-es/providers/screen-share/provider.base.js +511 -0
  953. package/lib-es/providers/screen-share/provider.browser.js +290 -0
  954. package/lib-es/providers/screen-share/provider.electron.js +486 -0
  955. package/lib-es/providers/screen-share/strategy/browser.js +306 -0
  956. package/lib-es/providers/screen-share/strategy/electron.js +364 -0
  957. package/lib-es/providers/screen-share/strategy/type.js +31 -0
  958. package/lib-es/providers/screen-share/stream-state-sync.js +312 -0
  959. package/lib-es/providers/screen-share/struct.js +60 -0
  960. package/lib-es/providers/screen-share/type.js +1 -0
  961. package/lib-es/providers/session-provider.js +42 -0
  962. package/lib-es/providers/setting-storage/provider.base.js +6 -0
  963. package/lib-es/providers/setting-storage/provider.browser.js +57 -0
  964. package/lib-es/providers/setting-storage/provider.electron.js +55 -0
  965. package/lib-es/providers/setting-storage/type.js +1 -0
  966. package/lib-es/providers/stt-provider/stt-provider.js +1000 -0
  967. package/lib-es/providers/stt-provider/type.js +14 -0
  968. package/lib-es/providers/widget-provider.js +236 -0
  969. package/lib-es/providers/window/main-window.js +259 -0
  970. package/lib-es/providers/window/provider.js +158 -0
  971. package/lib-es/providers/window/renderer-window.js +576 -0
  972. package/lib-es/providers/window/type.js +1 -0
  973. package/lib-es/runtime.js +1 -0
  974. package/lib-es/scenes/main-scene.js +696 -0
  975. package/lib-es/scenes/type.js +1 -0
  976. package/lib-es/scenes/waiting-scene.js +155 -0
  977. package/lib-es/schema.js +88 -0
  978. package/lib-es/shared-context/board-context.js +7 -0
  979. package/lib-es/shared-context/dialog-context.js +3 -0
  980. package/lib-es/shared-context/video-track-render-context.js +2 -0
  981. package/lib-es/shared-data/app-list-data.js +122 -0
  982. package/lib-es/shared-data/chat-data.js +135 -0
  983. package/lib-es/shared-data/config.js +38 -0
  984. package/lib-es/shared-data/confirm-data.js +195 -0
  985. package/lib-es/shared-data/device-privilege-data.js +18 -0
  986. package/lib-es/shared-data/interpreter.js +235 -0
  987. package/lib-es/shared-data/layout-data.js +211 -0
  988. package/lib-es/shared-data/meeting-time.js +409 -0
  989. package/lib-es/shared-data/member-data.js +482 -0
  990. package/lib-es/shared-data/pin-data.js +107 -0
  991. package/lib-es/shared-data/screen-share/index.js +188 -0
  992. package/lib-es/shared-data/screen-share/type.js +1 -0
  993. package/lib-es/shared-data/security-data.js +153 -0
  994. package/lib-es/shared-data/setting.js +244 -0
  995. package/lib-es/shared-data/speaker-spotlight.js +11 -0
  996. package/lib-es/shared-data/stt-setting.ts/constant.js +27 -0
  997. package/lib-es/shared-data/stt-setting.ts/index.js +195 -0
  998. package/lib-es/shared-data/stt-setting.ts/type.js +7 -0
  999. package/lib-es/shared-data/video-window.js +1248 -0
  1000. package/lib-es/shared-data/waiting-room.js +216 -0
  1001. package/lib-es/shared-data/widget-data.js +42 -0
  1002. package/lib-es/translations/enUS.js +2075 -0
  1003. package/lib-es/translations/zhCN.js +2073 -0
  1004. package/lib-es/type.js +149 -0
  1005. package/lib-es/ui-manager.js +213 -0
  1006. package/lib-es/ui-scene-switch.js +572 -0
  1007. package/lib-es/utilities/browser-api.js +74 -0
  1008. package/lib-es/utilities/constant.js +190 -0
  1009. package/lib-es/utilities/debug.js +33 -0
  1010. package/lib-es/utilities/default-config.js +89 -0
  1011. package/lib-es/utilities/dialog-utils.js +210 -0
  1012. package/lib-es/utilities/focus-helper.js +26 -0
  1013. package/lib-es/utilities/hooks.js +82 -0
  1014. package/lib-es/utilities/i18n-common-data.js +7 -0
  1015. package/lib-es/utilities/logger.js +48 -0
  1016. package/lib-es/utilities/meeting-detail.js +74 -0
  1017. package/lib-es/utilities/mute-action.js +41 -0
  1018. package/lib-es/utilities/package-info.js +7 -0
  1019. package/lib-es/utilities/parameters.js +47 -0
  1020. package/lib-es/utilities/platform.js +7 -0
  1021. package/lib-es/utilities/privilege.js +21 -0
  1022. package/lib-es/utilities/regex.js +7 -0
  1023. package/lib-es/utilities/renderer.js +430 -0
  1024. package/lib-es/utilities/shared-storage.js +56 -0
  1025. package/lib-es/utilities/tools.js +252 -0
  1026. package/lib-es/utilities/ui-resources.js +84 -0
  1027. package/lib-es/utilities/useNamespace.js +59 -0
  1028. package/lib-es/utilities/validate-params.js +9 -0
  1029. package/package.json +85 -79
  1030. package/public/assets/fcr_chat_reddot.svg +5 -5
  1031. package/public/assets/fcr_grid_big.svg +3 -3
  1032. package/public/assets/fcr_leave2.svg +58 -58
  1033. package/public/assets/fcr_listontop_big.svg +3 -3
  1034. package/public/assets/step-gradient.svg +10 -10
  1035. package/public/fragment.html +10 -10
  1036. package/public/index.html +107 -183
  1037. package/public/index.vite.html +109 -0
  1038. package/public/js/init.js +75 -0
  1039. package/public/{meeting-manager.js → js/meeting-manager.js} +405 -405
@@ -0,0 +1,2354 @@
1
+ import "core-js/modules/es.symbol.js";
2
+ import "core-js/modules/es.symbol.description.js";
3
+ import "core-js/modules/es.symbol.to-primitive.js";
4
+ import "core-js/modules/es.error.cause.js";
5
+ import "core-js/modules/es.error.to-string.js";
6
+ import "core-js/modules/es.array.is-array.js";
7
+ import "core-js/modules/es.date.to-primitive.js";
8
+ import "core-js/modules/es.function.name.js";
9
+ import "core-js/modules/es.number.constructor.js";
10
+ import "core-js/modules/es.object.create.js";
11
+ import "core-js/modules/es.object.define-properties.js";
12
+ import "core-js/modules/es.object.define-property.js";
13
+ import "core-js/modules/es.object.get-own-property-descriptor.js";
14
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
15
+ import "core-js/modules/es.object.keys.js";
16
+ import "core-js/modules/esnext.function.metadata.js";
17
+ import "core-js/modules/esnext.symbol.metadata.js";
18
+ import _typeof from "@babel/runtime/helpers/typeof";
19
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
20
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
21
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
22
+ import _createClass from "@babel/runtime/helpers/createClass";
23
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
24
+ var _ParticipantStoreBase;
25
+ var _initProto, _init__isChecked, _init__participantsWindowActive, _init_enableParticipantsJoinWithMute, _init_searchText, _init_currentModal, _init_mergeConfirmDialog, _init_mergeUserId, _init_activeTab, _init_interpreterInputLanguageList, _init_newName, _init_allowUnmute, _init_joinWithMuteAudio, _init_showBecomeHostButton, _init__userCount, _setCurrentModalDecs, _setParticipantsWindowActiveDecs, _handlerSearchUserDecs, _openRemoveAdmitWaitingRoomDialogDecs, _setAllowUnmuteDecs, _setAllowJoinWithMuteAudioDecs, _openMuteAllDialogDecs, _handlerRoomControlActionDecs, _moveToMainRoomByUserIdsDecs, _kickOutWaitingRoomAllMemberDecs, _moveToMainRoomAllMemberDecs, _removeWaitingRoomUserDecs, _handleUserCountUpdatedDecs, _handleConfirmChangeNameDecs, _handleCancelChangeNameDecs, _closeChangeNameDialogDecs, _getOutputLanguageDecs, _handlerUserActionDecs, _handleActiveTabDecs, _moveToWaitingRoomByUserIdDecs, _kickOutUserDecs, _onPeerSessionReceivedDecs, _ref;
26
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
27
+ 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; }
28
+ 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) { _defineProperty(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; }
29
+ import "core-js/modules/es.array.concat.js";
30
+ import "core-js/modules/es.array.filter.js";
31
+ import "core-js/modules/es.array.find.js";
32
+ import "core-js/modules/es.array.for-each.js";
33
+ import "core-js/modules/es.array.includes.js";
34
+ import "core-js/modules/es.array.iterator.js";
35
+ import "core-js/modules/es.array.map.js";
36
+ import "core-js/modules/es.array.push.js";
37
+ import "core-js/modules/es.array.some.js";
38
+ import "core-js/modules/es.date.now.js";
39
+ import "core-js/modules/es.date.to-json.js";
40
+ import "core-js/modules/es.function.bind.js";
41
+ import "core-js/modules/es.json.stringify.js";
42
+ import "core-js/modules/es.map.js";
43
+ import "core-js/modules/es.object.to-string.js";
44
+ import "core-js/modules/es.set.js";
45
+ import "core-js/modules/es.string.includes.js";
46
+ import "core-js/modules/es.string.iterator.js";
47
+ import "core-js/modules/es.weak-map.js";
48
+ import "core-js/modules/esnext.iterator.constructor.js";
49
+ import "core-js/modules/esnext.iterator.filter.js";
50
+ import "core-js/modules/esnext.iterator.find.js";
51
+ import "core-js/modules/esnext.iterator.for-each.js";
52
+ import "core-js/modules/esnext.iterator.map.js";
53
+ import "core-js/modules/esnext.iterator.some.js";
54
+ import "core-js/modules/esnext.map.delete-all.js";
55
+ import "core-js/modules/esnext.map.emplace.js";
56
+ import "core-js/modules/esnext.map.every.js";
57
+ import "core-js/modules/esnext.map.filter.js";
58
+ import "core-js/modules/esnext.map.find.js";
59
+ import "core-js/modules/esnext.map.find-key.js";
60
+ import "core-js/modules/esnext.map.includes.js";
61
+ import "core-js/modules/esnext.map.key-of.js";
62
+ import "core-js/modules/esnext.map.map-keys.js";
63
+ import "core-js/modules/esnext.map.map-values.js";
64
+ import "core-js/modules/esnext.map.merge.js";
65
+ import "core-js/modules/esnext.map.reduce.js";
66
+ import "core-js/modules/esnext.map.some.js";
67
+ import "core-js/modules/esnext.map.update.js";
68
+ import "core-js/modules/esnext.set.add-all.js";
69
+ import "core-js/modules/esnext.set.delete-all.js";
70
+ import "core-js/modules/esnext.set.difference.v2.js";
71
+ import "core-js/modules/esnext.set.difference.js";
72
+ import "core-js/modules/esnext.set.every.js";
73
+ import "core-js/modules/esnext.set.filter.js";
74
+ import "core-js/modules/esnext.set.find.js";
75
+ import "core-js/modules/esnext.set.intersection.v2.js";
76
+ import "core-js/modules/esnext.set.intersection.js";
77
+ import "core-js/modules/esnext.set.is-disjoint-from.v2.js";
78
+ import "core-js/modules/esnext.set.is-disjoint-from.js";
79
+ import "core-js/modules/esnext.set.is-subset-of.v2.js";
80
+ import "core-js/modules/esnext.set.is-subset-of.js";
81
+ import "core-js/modules/esnext.set.is-superset-of.v2.js";
82
+ import "core-js/modules/esnext.set.is-superset-of.js";
83
+ import "core-js/modules/esnext.set.join.js";
84
+ import "core-js/modules/esnext.set.map.js";
85
+ import "core-js/modules/esnext.set.reduce.js";
86
+ import "core-js/modules/esnext.set.some.js";
87
+ import "core-js/modules/esnext.set.symmetric-difference.v2.js";
88
+ import "core-js/modules/esnext.set.symmetric-difference.js";
89
+ import "core-js/modules/esnext.set.union.v2.js";
90
+ import "core-js/modules/esnext.set.union.js";
91
+ import "core-js/modules/esnext.weak-map.delete-all.js";
92
+ import "core-js/modules/esnext.weak-map.emplace.js";
93
+ import "core-js/modules/web.dom-collections.for-each.js";
94
+ import "core-js/modules/web.dom-collections.iterator.js";
95
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
96
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
97
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
98
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
99
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
100
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
101
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
102
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
103
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
104
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
105
+ import { FcrMediaSourceState, FcrRoomConnectorType, FcrVideoSourceType } from 'fcr-core';
106
+ import { FcrUserRole, FcrUserUpdatedReason, FcrStreamPrivilegeOperation } from 'fcr-core/lib/type';
107
+ import { FcrError } from 'fcr-core/lib/utilities/error';
108
+ import { ParticipantActionType } from 'agora-ui-foundation/lib/components/participants/attendee';
109
+ import { action, computed, observable, runInAction, reaction } from 'mobx';
110
+ import { ErrorCode, FcrUIAction, FcrUIDialogKey, FcrUIRoomControlType, SESSION_DURATION } from '../../utilities/constant';
111
+ import { bound } from 'agora-foundation/lib/decorator';
112
+ import { computedFn } from 'mobx-utils';
113
+ import { FcrUISessionKey } from './type';
114
+ import { transI18n } from 'agora-ui-foundation/lib/i18n';
115
+ import { FcrUserKickedOutType } from 'fcr-core/lib/room-control/user-control/type';
116
+ import { FcrSecurityAction } from 'fcr-core/lib/room-control/privilege-control/type';
117
+ import { FcrUIRoomType } from '../../type';
118
+ import { createLogger } from '../../utilities/logger';
119
+ import { FcrUIObjectKeys } from '../../object-manager';
120
+ import { createContext } from 'react';
121
+ import { OperateWaitingRoomMemberDialog } from './components/operate-waitingroom-member';
122
+ import { FcrConfirmInput } from './components/confirm-input';
123
+ import { USER_FORMAT_CONFIG, KICK_OUT_DIALOG_CONFIG } from './struct';
124
+ import { userRoleI18nKey } from '../../hooks/i18n';
125
+ import { jsx as _jsx } from "react/jsx-runtime";
126
+ var _A = /*#__PURE__*/new WeakMap();
127
+ var _B = /*#__PURE__*/new WeakMap();
128
+ var _C = /*#__PURE__*/new WeakMap();
129
+ var _D = /*#__PURE__*/new WeakMap();
130
+ var _E = /*#__PURE__*/new WeakMap();
131
+ var _F = /*#__PURE__*/new WeakMap();
132
+ var _G = /*#__PURE__*/new WeakMap();
133
+ var _H = /*#__PURE__*/new WeakMap();
134
+ var _I = /*#__PURE__*/new WeakMap();
135
+ var _J = /*#__PURE__*/new WeakMap();
136
+ var _K = /*#__PURE__*/new WeakMap();
137
+ var _L = /*#__PURE__*/new WeakMap();
138
+ var _M = /*#__PURE__*/new WeakMap();
139
+ var _N = /*#__PURE__*/new WeakMap();
140
+ _ref = (_setCurrentModalDecs = [action, action.bound], _setParticipantsWindowActiveDecs = [action, action.bound], _handlerSearchUserDecs = [action, action.bound], _openRemoveAdmitWaitingRoomDialogDecs = [action, action.bound], _setAllowUnmuteDecs = [action, action.bound], _setAllowJoinWithMuteAudioDecs = [action, action.bound], _openMuteAllDialogDecs = [action, action.bound], _handlerRoomControlActionDecs = [action, action.bound], _moveToMainRoomByUserIdsDecs = [action, action.bound], _kickOutWaitingRoomAllMemberDecs = [action, action.bound], _moveToMainRoomAllMemberDecs = [action, action.bound], _removeWaitingRoomUserDecs = [action, action.bound], _handleUserCountUpdatedDecs = [action, action.bound], _handleConfirmChangeNameDecs = [action, action.bound], _handleCancelChangeNameDecs = [action, action.bound], _closeChangeNameDialogDecs = [action, action.bound], _getOutputLanguageDecs = [action, action.bound], _handlerUserActionDecs = [action, action.bound], _handleActiveTabDecs = [action, action.bound], _moveToWaitingRoomByUserIdDecs = [action, action.bound], _kickOutUserDecs = [action, action.bound], _onPeerSessionReceivedDecs = [action, action.bound], "logger");
141
+ export var ParticipantStoreBase = /*#__PURE__*/function () {
142
+ // #endregion
143
+
144
+ function ParticipantStoreBase(_ref2) {
145
+ var _this = this;
146
+ var objectManager = _ref2.objectManager;
147
+ _classCallCheck(this, ParticipantStoreBase);
148
+ _defineProperty(this, _ref, (_initProto(this), createLogger({
149
+ prefix: 'ParticipantStore'
150
+ })));
151
+ _defineProperty(this, "_disposers", []);
152
+ _defineProperty(this, "_unmuteAudioTimestamp", new Map());
153
+ _defineProperty(this, "_unmuteVideoTimestamp", new Map());
154
+ _defineProperty(this, "_processedUserOpenDeviceRequests", new Set());
155
+ _defineProperty(this, "_peerSessionObserver", {
156
+ onPeerSessionReceived: this._onPeerSessionReceived,
157
+ onPeerSessionAccepted: this._onPeerSessionAccepted,
158
+ onPeerSessionRejected: this._onPeerSessionRejected
159
+ });
160
+ _defineProperty(this, "_roomStoreObserver", {
161
+ onJoinWaitingRoom: function onJoinWaitingRoom(roomControl) {
162
+ var room = roomControl;
163
+ _this._waitingRoomControl = room;
164
+ var waitingRoomUserControl = room.getUserControl();
165
+ _this._waitingRoomUserControl = waitingRoomUserControl;
166
+ },
167
+ onWaitingRoomManageCanceled: function onWaitingRoomManageCanceled() {
168
+ _this._waitingRoomControl = undefined;
169
+ _this._waitingRoomUserControl = undefined;
170
+ _this.handleActiveTab(FcrUIRoomType.MAIN_ROOM);
171
+ }
172
+ });
173
+ _defineProperty(this, "_privilegeControlObserver", {
174
+ onSecurityInfoUpdated: function onSecurityInfoUpdated(roomId, event) {
175
+ var _event$securityInfo$i;
176
+ if (((_event$securityInfo$i = event.securityInfo.info) === null || _event$securityInfo$i === void 0 ? void 0 : _event$securityInfo$i.action) === FcrSecurityAction.ChangeName) {
177
+ if (!event.securityInfo.enable) {
178
+ _this._closeChangeNameDialog();
179
+ }
180
+ }
181
+ }
182
+ });
183
+ _defineProperty(this, "_userObserver", {
184
+ onRemoteUsersJoined: this._handleRemoteUsersJoined.bind(this),
185
+ onUserPropertiesUpdated: this._handleUserPropertiesUpdated.bind(this),
186
+ onUserInfoUpdated: this._handleUserInfoUpdated.bind(this),
187
+ onAllUserCountUpdated: this._handleUserCountUpdated.bind(this)
188
+ });
189
+ _defineProperty(this, "_whitebaordObderver", {
190
+ onActive: function onActive(ownerId, operatorUser) {
191
+ _this._sharedMemberDataSource.updateMemberListWithBoardState();
192
+ },
193
+ onInactive: function onInactive(reason, operatorUser) {
194
+ _this._sharedMemberDataSource.updateMemberListWithBoardState();
195
+ }
196
+ });
197
+ _defineProperty(this, "_renamingUserId", '');
198
+ _defineProperty(this, "_renamingUserName", '');
199
+ _classPrivateFieldInitSpec(this, _A, _init__isChecked(this, {}));
200
+ _classPrivateFieldInitSpec(this, _B, _init__participantsWindowActive(this, false));
201
+ _classPrivateFieldInitSpec(this, _C, _init_enableParticipantsJoinWithMute(this, false));
202
+ _classPrivateFieldInitSpec(this, _D, _init_searchText(this, ''));
203
+ _classPrivateFieldInitSpec(this, _E, _init_currentModal(this, 'modal'));
204
+ _classPrivateFieldInitSpec(this, _F, _init_mergeConfirmDialog(this, false));
205
+ _classPrivateFieldInitSpec(this, _G, _init_mergeUserId(this, ''));
206
+ _classPrivateFieldInitSpec(this, _H, _init_activeTab(this, FcrUIRoomType.MAIN_ROOM));
207
+ _classPrivateFieldInitSpec(this, _I, _init_interpreterInputLanguageList(this, []));
208
+ _classPrivateFieldInitSpec(this, _J, _init_newName(this, ''));
209
+ _classPrivateFieldInitSpec(this, _K, _init_allowUnmute(this, false));
210
+ _classPrivateFieldInitSpec(this, _L, _init_joinWithMuteAudio(this, false));
211
+ _classPrivateFieldInitSpec(this, _M, _init_showBecomeHostButton(this, false));
212
+ _classPrivateFieldInitSpec(this, _N, _init__userCount(this, 0));
213
+ _defineProperty(this, "allowedOperations", computedFn(function (userId, userRole) {
214
+ return _this.getAllowedOperations(userRole, userId === _this.localUser.userId);
215
+ }));
216
+ _defineProperty(this, "checkIsPin", computedFn(function (userId) {
217
+ var _this$userMap$get;
218
+ return !!((_this$userMap$get = _this.userMap.get(userId)) !== null && _this$userMap$get !== void 0 && _this$userMap$get.streams.some(function (stream) {
219
+ return _this.pinedStreamIds.includes(stream.streamId);
220
+ }));
221
+ }));
222
+ _defineProperty(this, "getAllowedOperations", computedFn(function (targetRole, isSelf) {
223
+ return _this._privilegeProvider.getAllowedOperations(targetRole, isSelf);
224
+ }));
225
+ /**
226
+ * 格式化用户数据为UI显示格式
227
+ * @param user 原始用户数据
228
+ * @returns 格式化后的用户数据
229
+ */
230
+ _defineProperty(this, "_formatUser", function (user) {
231
+ try {
232
+ // 参数验证
233
+ if (!user || !user.userId || !user.userInfo) {
234
+ _this.logger.warn('Invalid user data provided to _formatUser:', user);
235
+ return _this._getDefaultUserData();
236
+ }
237
+ var _user$streams = user.streams,
238
+ userStreams = _user$streams === void 0 ? [] : _user$streams;
239
+ var isSelf = user.userId === _this.localUser.userId;
240
+
241
+ // 获取基础信息
242
+ var baseInfo = _this._getUserBaseInfo(user, isSelf);
243
+
244
+ // 根据连接器类型处理设备信息
245
+ var deviceInfo = _this._getUserDeviceInfo(user, userStreams, isSelf);
246
+
247
+ // 获取流状态信息
248
+ var streamInfo = _this._getUserStreamInfo(user, userStreams);
249
+
250
+ // 组合所有信息
251
+ return _objectSpread(_objectSpread(_objectSpread({}, baseInfo), deviceInfo), streamInfo);
252
+ } catch (error) {
253
+ _this.logger.error('Error formatting user data:', error, 'user:', user);
254
+ return _this._getDefaultUserData();
255
+ }
256
+ });
257
+ // Get all required objects from objectManager
258
+ this._roomStore = objectManager.getObject(FcrUIObjectKeys.P_ROOM_PROVIDER);
259
+ this._roomControl = this._roomStore.currentRoomControl;
260
+ this._streamControl = this._roomControl.getStreamControl();
261
+ this._userControl = this._roomControl.getUserControl();
262
+ this._chatProvider = objectManager.getObject(FcrUIObjectKeys.P_CHAT_PROVIDER);
263
+ this._privilegeProvider = objectManager.getObject(FcrUIObjectKeys.P_PRIVILEGE_PROVIDER);
264
+ this._deviceStore = objectManager.getObject(FcrUIObjectKeys.P_DEVICE_PROVIDER);
265
+ this._deviceStreamStore = objectManager.getObject(FcrUIObjectKeys.P_DEVICE_STREAM_PROVIDER);
266
+ this._dialogProvider = objectManager.getObject(FcrUIObjectKeys.P_DIALOG_PROVIDER);
267
+ this._messageProvider = objectManager.getObject(FcrUIObjectKeys.P_MESSAGE_PROVIDER);
268
+ this._abilityProvider = objectManager.getObject(FcrUIObjectKeys.P_ABILITY_PROVIDER);
269
+ this._eventProvider = objectManager.getObject(FcrUIObjectKeys.P_EVENT_PROVIDER);
270
+ this._screenShareProvider = objectManager.getObject(FcrUIObjectKeys.P_SCREEN_SHARE_PROVIDER);
271
+ this._userCount = this._userControl.getAllUserCount();
272
+
273
+ // Get shared data sources
274
+ this._sharedPinDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_PIN_DATA_SOURCE);
275
+ this._sharedLayoutDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_LAYOUT_DATA_SOURCE);
276
+ this._sharedVideoWindowDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_VIDEO_WINDOW_DATA_SOURCE);
277
+ this._sharedWaitingRoomDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_WAITING_ROOM_DATA_SOURCE);
278
+ this._sharedInterpreterDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_INTERPRETER_DATA_SOURCE);
279
+ this._sharedMemberDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_MEMBER_DATA_SOURCE);
280
+ this._sharedChatDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_CHAT_DATA_SOURCE);
281
+ this._sharedSettingDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_SETTING_DATA_SOURCE);
282
+ this._sharedSecurityDataSource = objectManager.getObject(FcrUIObjectKeys.S_SHARED_SECURITY_DATA_SOURCE);
283
+
284
+ // Try to get session provider if available
285
+ try {
286
+ this._peerSessionControl = objectManager.getObject(FcrUIObjectKeys.P_SESSION_PROVIDER);
287
+ } catch (e) {
288
+ // Session provider may not be available in all contexts
289
+ this._peerSessionControl = undefined;
290
+ }
291
+ this._userControl.addObserver(this._userObserver);
292
+ this._peerSessionControl.addObserver(this._peerSessionObserver);
293
+ this._roomControl.getSharingControl().getBoardControl().addObserver(this._whitebaordObderver);
294
+ this._roomControl.getPrivilegeControl().addObserver(this._privilegeControlObserver);
295
+ this._roomStore.addObserver(this._roomStoreObserver);
296
+ this._eventProvider.addObserver({
297
+ onEvent: this._handleEvent
298
+ });
299
+
300
+ // TODO: 使用 privilegeProvider 中的值代替
301
+ this.allowUnmute = this._privilegeProvider.isUnmuteSelfAudioAllowed();
302
+ this.joinWithMuteAudio = this._privilegeProvider.isJoinWithMutedAudioEnabled();
303
+ this._getOutputLanguage();
304
+ this.showBecomeHostButton = !this._sharedMemberDataSource.memberList.some(function (user) {
305
+ return user.userInfo.userRole === FcrUserRole.HOST;
306
+ });
307
+
308
+ // 设置等候室用户数量监听
309
+ this._setupWaitingRoomUserCountListener();
310
+ }
311
+ return _createClass(ParticipantStoreBase, [{
312
+ key: "_isChecked",
313
+ get: function get() {
314
+ return _classPrivateFieldGet(_A, this);
315
+ },
316
+ set: function set(v) {
317
+ _classPrivateFieldSet(_A, this, v);
318
+ }
319
+ }, {
320
+ key: "_participantsWindowActive",
321
+ get: function get() {
322
+ return _classPrivateFieldGet(_B, this);
323
+ },
324
+ set: function set(v) {
325
+ _classPrivateFieldSet(_B, this, v);
326
+ }
327
+ }, {
328
+ key: "enableParticipantsJoinWithMute",
329
+ get: function get() {
330
+ return _classPrivateFieldGet(_C, this);
331
+ },
332
+ set: function set(v) {
333
+ _classPrivateFieldSet(_C, this, v);
334
+ }
335
+ }, {
336
+ key: "searchText",
337
+ get: function get() {
338
+ return _classPrivateFieldGet(_D, this);
339
+ },
340
+ set: function set(v) {
341
+ _classPrivateFieldSet(_D, this, v);
342
+ }
343
+ }, {
344
+ key: "currentModal",
345
+ get: function get() {
346
+ return _classPrivateFieldGet(_E, this);
347
+ },
348
+ set: function set(v) {
349
+ _classPrivateFieldSet(_E, this, v);
350
+ }
351
+ }, {
352
+ key: "mergeConfirmDialog",
353
+ get: function get() {
354
+ return _classPrivateFieldGet(_F, this);
355
+ },
356
+ set: function set(v) {
357
+ _classPrivateFieldSet(_F, this, v);
358
+ }
359
+ }, {
360
+ key: "mergeUserId",
361
+ get: function get() {
362
+ return _classPrivateFieldGet(_G, this);
363
+ },
364
+ set: function set(v) {
365
+ _classPrivateFieldSet(_G, this, v);
366
+ }
367
+ }, {
368
+ key: "activeTab",
369
+ get: function get() {
370
+ return _classPrivateFieldGet(_H, this);
371
+ },
372
+ set: function set(v) {
373
+ _classPrivateFieldSet(_H, this, v);
374
+ }
375
+ }, {
376
+ key: "interpreterInputLanguageList",
377
+ get: function get() {
378
+ return _classPrivateFieldGet(_I, this);
379
+ },
380
+ set: function set(v) {
381
+ _classPrivateFieldSet(_I, this, v);
382
+ }
383
+ }, {
384
+ key: "newName",
385
+ get: function get() {
386
+ return _classPrivateFieldGet(_J, this);
387
+ },
388
+ set: function set(v) {
389
+ _classPrivateFieldSet(_J, this, v);
390
+ }
391
+ }, {
392
+ key: "allowUnmute",
393
+ get: function get() {
394
+ return _classPrivateFieldGet(_K, this);
395
+ },
396
+ set: function set(v) {
397
+ _classPrivateFieldSet(_K, this, v);
398
+ }
399
+ }, {
400
+ key: "joinWithMuteAudio",
401
+ get: function get() {
402
+ return _classPrivateFieldGet(_L, this);
403
+ },
404
+ set: function set(v) {
405
+ _classPrivateFieldSet(_L, this, v);
406
+ }
407
+ }, {
408
+ key: "showBecomeHostButton",
409
+ get: function get() {
410
+ return _classPrivateFieldGet(_M, this);
411
+ },
412
+ set: function set(v) {
413
+ _classPrivateFieldSet(_M, this, v);
414
+ }
415
+ }, {
416
+ key: "_userCount",
417
+ get: // #region getters
418
+ function get() {
419
+ return _classPrivateFieldGet(_N, this);
420
+ },
421
+ set: function set(v) {
422
+ _classPrivateFieldSet(_N, this, v);
423
+ }
424
+ }, {
425
+ key: "renamingUserName",
426
+ get: function get() {
427
+ return this._renamingUserName;
428
+ }
429
+ }, {
430
+ key: "audioVolumeMap",
431
+ get: function get() {
432
+ return this._sharedMemberDataSource.audioVolumeMap;
433
+ }
434
+ }, {
435
+ key: "localUser",
436
+ get: function get() {
437
+ return this._sharedMemberDataSource.localUser;
438
+ }
439
+ }, {
440
+ key: "localUserRole",
441
+ get: function get() {
442
+ return this._sharedMemberDataSource.localUserRole;
443
+ }
444
+ }, {
445
+ key: "isLocalUserHost",
446
+ get: function get() {
447
+ return this._sharedMemberDataSource.isLocalUserHost;
448
+ }
449
+ }, {
450
+ key: "enableSpotlight",
451
+ get: function get() {
452
+ return this._sharedSettingDataSource.setting.spotlightEnabled;
453
+ }
454
+ }, {
455
+ key: "userListSource",
456
+ get: function get() {
457
+ if (this.activeTab === FcrUIRoomType.MAIN_ROOM) {
458
+ return this._sharedMemberDataSource.memberList;
459
+ } else {
460
+ return this._sharedWaitingRoomDataSource.waitingRoomDataSource.list;
461
+ }
462
+ }
463
+ }, {
464
+ key: "spotlightStreamId",
465
+ get: function get() {
466
+ return this._sharedVideoWindowDataSource.spotlightStreamId;
467
+ }
468
+ }, {
469
+ key: "mergeUserInfo",
470
+ get: function get() {
471
+ var _this$userListSource$,
472
+ _this2 = this;
473
+ return (_this$userListSource$ = this.userListSource.find(function (user) {
474
+ return user.userId === _this2.mergeUserId;
475
+ })) === null || _this$userListSource$ === void 0 ? void 0 : _this$userListSource$.userInfo;
476
+ }
477
+ }, {
478
+ key: "userMap",
479
+ get: function get() {
480
+ var res = new Map();
481
+ this.userListSource.forEach(function (u) {
482
+ res.set(u.userId, u);
483
+ });
484
+ return res;
485
+ }
486
+ }, {
487
+ key: "userCount",
488
+ get: function get() {
489
+ return this._userCount;
490
+ }
491
+ }, {
492
+ key: "allowUnmuteSelfAudio",
493
+ get: function get() {
494
+ return this.checkedStateMap.unmuteYourself;
495
+ }
496
+ }, {
497
+ key: "allowJoinWithMuteAudio",
498
+ get: function get() {
499
+ return this.checkedStateMap.enableJoinWithAudio;
500
+ }
501
+ }, {
502
+ key: "allowUnmuteSelfVideo",
503
+ get: function get() {
504
+ return this.checkedStateMap.startVideo;
505
+ }
506
+ }, {
507
+ key: "isLockRoomEnabled",
508
+ get: function get() {
509
+ return this.checkedStateMap.lockRoom;
510
+ }
511
+ }, {
512
+ key: "isWaitingRoomEnabled",
513
+ get: function get() {
514
+ return this._privilegeProvider.isWaitingRoomEnabled();
515
+ }
516
+ }, {
517
+ key: "allowChangeSelfName",
518
+ get: function get() {
519
+ return this.checkedStateMap.rename;
520
+ }
521
+ }, {
522
+ key: "pinedStreamIds",
523
+ get: function get() {
524
+ var mainList = this._sharedVideoWindowDataSource.mainList;
525
+ return mainList.filter(function (i) {
526
+ return i.isPin;
527
+ }).map(function (i) {
528
+ return i.windowId;
529
+ });
530
+ }
531
+ }, {
532
+ key: "hasPinnedStream",
533
+ get: function get() {
534
+ var mainList = this._sharedVideoWindowDataSource.mainList;
535
+ return mainList.some(function (i) {
536
+ return i.isPin;
537
+ });
538
+ }
539
+ }, {
540
+ key: "userList",
541
+ get: function get() {
542
+ var _this3 = this;
543
+ var list = this.userListSource;
544
+ if (this.searchText.length) {
545
+ list = list.filter(function (user) {
546
+ return user.userInfo.userName.toLocaleLowerCase().includes(_this3.searchText.toLocaleLowerCase());
547
+ });
548
+ }
549
+ var uiDataList = list.map(function (user) {
550
+ return _this3._formatUser(user);
551
+ });
552
+ return uiDataList;
553
+ }
554
+ }, {
555
+ key: "isLocalScreenSharing",
556
+ get: function get() {
557
+ return this._screenShareProvider.isLocalUserScreenSharing;
558
+ }
559
+ }, {
560
+ key: "localMicVolume",
561
+ get: function get() {
562
+ return this._deviceStore.microphoneVolumeLevel;
563
+ }
564
+ }, {
565
+ key: "hasRevokeHostPermission",
566
+ get: function get() {
567
+ return this._privilegeProvider.hasRevokeHostPermission() && this.localUserRole !== FcrUserRole.HOST;
568
+ }
569
+ }, {
570
+ key: "interpreterUserList",
571
+ get: function get() {
572
+ return this._sharedInterpreterDataSource.interpreterUserList;
573
+ }
574
+ }, {
575
+ key: "isInterpreterEnabled",
576
+ get: function get() {
577
+ return this._sharedInterpreterDataSource.isInterpreterEnabled;
578
+ }
579
+ }, {
580
+ key: "waitingRoomUserCount",
581
+ get: function get() {
582
+ return this._sharedWaitingRoomDataSource.totalWaitingRoomUser;
583
+ }
584
+ }, {
585
+ key: "isNewWaitingRoomUserEnter",
586
+ get: function get() {
587
+ return this._sharedWaitingRoomDataSource.unReadState;
588
+ }
589
+ }, {
590
+ key: "isHostKeyEnabled",
591
+ get: function get() {
592
+ return this._roomControl.isHostKeyEnabled();
593
+ }
594
+ }, {
595
+ key: "hasInvite",
596
+ get: function get() {
597
+ return this._abilityProvider.isRoomDetailSupported();
598
+ }
599
+ }, {
600
+ key: "checkedStateMap",
601
+ get: function get() {
602
+ return this._sharedSecurityDataSource.checkedStateMap;
603
+ }
604
+ }, {
605
+ key: "release",
606
+ value: function release() {
607
+ this._userControl.removeObserver(this._userObserver);
608
+ this._peerSessionControl.removeObserver(this._peerSessionObserver);
609
+ this._roomControl.getSharingControl().getBoardControl().removeObserver(this._whitebaordObderver);
610
+ this._roomControl.getPrivilegeControl().removeObserver(this._privilegeControlObserver);
611
+ this._roomStore.removeObserver(this._roomStoreObserver);
612
+ this._eventProvider.removeObserver({
613
+ onEvent: this._handleEvent
614
+ });
615
+ this._disposers.forEach(function (disposer) {
616
+ return disposer();
617
+ });
618
+ }
619
+ }, {
620
+ key: "hasMutePermission",
621
+ value: function hasMutePermission(targetRole) {
622
+ return this._privilegeProvider.hasMutePermission(targetRole);
623
+ }
624
+ }, {
625
+ key: "hasWaitingRoomPermission",
626
+ value: function hasWaitingRoomPermission() {
627
+ return this._privilegeProvider.isWaitingRoomEnabled() && this._privilegeProvider.hasEnableWaitingRoomPermission();
628
+ }
629
+ }, {
630
+ key: "hasUnmutePermission",
631
+ value: function hasUnmutePermission(targetRole) {
632
+ return this._privilegeProvider.hasUnmutePermission(targetRole);
633
+ }
634
+ }, {
635
+ key: "hasRequestStartAudioPermission",
636
+ value: function hasRequestStartAudioPermission(targetRole) {
637
+ return this._privilegeProvider.hasRequestStartAudioPermission(targetRole);
638
+ }
639
+ }, {
640
+ key: "setCurrentModal",
641
+ value: function setCurrentModal(modal) {
642
+ this.currentModal = modal;
643
+ }
644
+ }, {
645
+ key: "closeParticipantsAside",
646
+ value: function closeParticipantsAside() {
647
+ this.setLayoutAsideLayout({
648
+ participant: false
649
+ });
650
+ }
651
+ }, {
652
+ key: "setParticipantsRenderAt",
653
+ value: function setParticipantsRenderAt(renderPosition) {
654
+ this._sharedLayoutDataSource.setParticipantsRenderAt(renderPosition);
655
+ }
656
+ }, {
657
+ key: "setLayoutAsideLayout",
658
+ value: function setLayoutAsideLayout(params) {
659
+ this._sharedLayoutDataSource.setAsideLayout(params);
660
+ }
661
+ }, {
662
+ key: "getLayoutChatRenderAt",
663
+ get: function get() {
664
+ return this._sharedLayoutDataSource.chatRenderAt;
665
+ }
666
+
667
+ // TODO: 这里超级奇怪,传入的变量名是activeTab,但是实际上是roomType
668
+ // 看上去像是有个bug
669
+ }, {
670
+ key: "setChatActiveTab",
671
+ value: function setChatActiveTab(activeTab) {
672
+ this._sharedChatDataSource.activeTab = activeTab;
673
+ }
674
+ }, {
675
+ key: "closeParticipantsWindow",
676
+ value: function closeParticipantsWindow() {
677
+ this.closeDialog(FcrUIDialogKey.PARTICIPANT);
678
+ }
679
+ }, {
680
+ key: "openDialog",
681
+ value: function openDialog(key) {
682
+ this._openDialog(key);
683
+ }
684
+ }, {
685
+ key: "closeDialog",
686
+ value: function closeDialog(key) {
687
+ this._dialogProvider.closeDialog(key);
688
+ }
689
+ }, {
690
+ key: "openConfirmDialog",
691
+ value: function openConfirmDialog(params, key) {
692
+ var _this4 = this;
693
+ var dialogId = this._dialogProvider.openConfirmDialog(_objectSpread(_objectSpread({}, params), {}, {
694
+ key: key,
695
+ onCancel: function onCancel() {
696
+ _this4.closeConfirmDialog(dialogId);
697
+ params.onCancel && params.onCancel();
698
+ },
699
+ onOk: function onOk() {
700
+ _this4.closeConfirmDialog(dialogId);
701
+ params.onOk && params.onOk();
702
+ }
703
+ }));
704
+ this.logger.info("open Confirm Dialog: ".concat(JSON.stringify(params), ",dialogId: ").concat(dialogId));
705
+ return dialogId;
706
+ }
707
+ }, {
708
+ key: "closeConfirmDialog",
709
+ value: function closeConfirmDialog(id) {
710
+ this._dialogProvider.closeConfirmDialog(id);
711
+ }
712
+ }, {
713
+ key: "setParticipantsWindowActive",
714
+ value: function setParticipantsWindowActive(active) {
715
+ var _this5 = this;
716
+ runInAction(function () {
717
+ _this5._participantsWindowActive = active;
718
+ if (!active) {
719
+ _this5.setCurrentModal('modal');
720
+ }
721
+ });
722
+ }
723
+ }, {
724
+ key: "handlerSearchUser",
725
+ value: function handlerSearchUser(searchText) {
726
+ this.searchText = searchText;
727
+ }
728
+ }, {
729
+ key: "onInvite",
730
+ value: function onInvite() {
731
+ this._openDialog(FcrUIDialogKey.INVITE);
732
+ }
733
+ }, {
734
+ key: "setMergeConfirmDialog",
735
+ value: function setMergeConfirmDialog(visible) {
736
+ this.mergeConfirmDialog = visible;
737
+ }
738
+ }, {
739
+ key: "mergeConfirmDialogOk",
740
+ value: function mergeConfirmDialogOk(userId) {
741
+ var _this$userMap$get2;
742
+ this._streamControl.mergeAudioStream(userId);
743
+ this.setMergeConfirmDialog(false);
744
+ this._showToast(transI18n('fmt_PSTN_toast_merged', {
745
+ reason1: (_this$userMap$get2 = this.userMap.get(userId)) === null || _this$userMap$get2 === void 0 ? void 0 : _this$userMap$get2.userInfo.userName
746
+ }));
747
+ }
748
+ }, {
749
+ key: "openRemoveAdmitWaitingRoomDialog",
750
+ value: function openRemoveAdmitWaitingRoomDialog(params) {
751
+ var _this6 = this;
752
+ var buttonTextMap = {
753
+ removeAll: transI18n('fmt_waitingroom_sidebar_button_removeall'),
754
+ admitAll: transI18n('fmt_waitingroom_sidebar_button_admitall'),
755
+ remove: transI18n('fmt_waitingroom_sidebar_popup_button_remove')
756
+ };
757
+ this._isChecked[params.type] = false;
758
+ var dialogId = this.openConfirmDialog({
759
+ title: params.title,
760
+ alignCenter: true,
761
+ content: /*#__PURE__*/_jsx(OperateWaitingRoomMemberDialog, {
762
+ type: params.type,
763
+ userId: params.userId,
764
+ tooltip: params.tooltip,
765
+ title: params.title,
766
+ onChecked: function onChecked(isChecked) {
767
+ _this6._isChecked[params.type] = isChecked;
768
+ }
769
+ }),
770
+ onOk: function onOk() {
771
+ if (params.type === 'remove') {
772
+ _this6.removeWaitingRoomUser(params.userId, _this6._isChecked[params.type] ? FcrUserKickedOutType.Forever : FcrUserKickedOutType.Once);
773
+ }
774
+ if (params.type === 'removeAll') {
775
+ _this6.kickOutWaitingRoomAllMember(_this6._isChecked[params.type] ? FcrUserKickedOutType.Forever : FcrUserKickedOutType.Once);
776
+ }
777
+ if (params.type === 'admitAll') {
778
+ _this6.moveToMainRoomAllMember();
779
+ }
780
+ _this6.closeConfirmDialog(dialogId);
781
+ },
782
+ okText: buttonTextMap[params.type],
783
+ okButtonProps: {
784
+ styleType: params.type === 'remove' || params.type === 'removeAll' ? 'danger' : undefined
785
+ }
786
+ });
787
+ }
788
+ }, {
789
+ key: "setAllowUnmute",
790
+ value: function setAllowUnmute(checked) {
791
+ this.allowUnmute = checked;
792
+ }
793
+ }, {
794
+ key: "setAllowJoinWithMuteAudio",
795
+ value: function setAllowJoinWithMuteAudio(checked) {
796
+ this.joinWithMuteAudio = checked;
797
+ }
798
+ }, {
799
+ key: "openMuteAllDialog",
800
+ value: function openMuteAllDialog() {
801
+ this.allowUnmute = this.allowUnmuteSelfAudio;
802
+ this.joinWithMuteAudio = this.allowJoinWithMuteAudio;
803
+ this._dialogProvider.openDialog(FcrUIDialogKey.MUTE_ALL);
804
+ }
805
+ }, {
806
+ key: "handlerRoomControlAction",
807
+ value: function handlerRoomControlAction(action, data) {
808
+ console.log('handlerRoomControlAction', action, data);
809
+ switch (action) {
810
+ case FcrUIRoomControlType.MUTE_ALL_AUDIO:
811
+ this._muteAllAudio(data.allowUnmute, data.joinWithMuteAudio);
812
+ break;
813
+ case FcrUIRoomControlType.UNMUTE_ALL_AUDIO:
814
+ this._unmuteAllAudio();
815
+ break;
816
+ case FcrUIRoomControlType.ALLOW_ATTENDEE_TO_UNMUTE:
817
+ this._enableSelfUnmute(data);
818
+ break;
819
+ case FcrUIRoomControlType.ALLOW_ATTENDEE_TO_OPEN_CAMERA:
820
+ this._enableOpenVideo(data);
821
+ break;
822
+ case FcrUIRoomControlType.REVOKE_HOST:
823
+ this._revokeHost();
824
+ break;
825
+ case FcrUIRoomControlType.LOCK_ROOM:
826
+ this._lockRoom(data);
827
+ break;
828
+ case FcrUIRoomControlType.RENAME:
829
+ this._enableRename(data);
830
+ break;
831
+ case FcrUIRoomControlType.JOIN_WITH_MUTE_AUDIO:
832
+ this.enableJoinWithMuteAudio(data);
833
+ break;
834
+ case FcrUIRoomControlType.ACTION_REVOKE_HOST_BY_TICKET:
835
+ this._revokeHostByTicket();
836
+ break;
837
+ case FcrUIRoomControlType.ACTION_CHANGE_NAME:
838
+ this._openChangeNameDialog(this.localUser.userId);
839
+ break;
840
+ }
841
+ }
842
+ }, {
843
+ key: "moveParticipantFromDialogToAside",
844
+ value: function moveParticipantFromDialogToAside() {
845
+ this.closeParticipantsWindow();
846
+ this.setParticipantsRenderAt('aside');
847
+ this.setLayoutAsideLayout({
848
+ participant: true
849
+ });
850
+ }
851
+ }, {
852
+ key: "_revokeHostByTicket",
853
+ value: function _revokeHostByTicket() {
854
+ var _this7 = this;
855
+ var hostKey = '';
856
+ var errMessage = {
857
+ '732403104': transI18n('fmt_hostkey_meetingroom_toast_unable_to_claim_host'),
858
+ '732403105': transI18n('fmt_hostkey_input_hostkey_tips_incorrect_key')
859
+ };
860
+ var dialogId = this.openConfirmDialog({
861
+ title: transI18n('fmt_hostkey_input_hostkey_title_enter_key'),
862
+ content: /*#__PURE__*/_jsx(FcrConfirmInput, {
863
+ type: "number",
864
+ placeholder: transI18n('fmt_hostkey_input_hostkey_text_hint_enter_key'),
865
+ onChange: function onChange(value) {
866
+ hostKey = String(value);
867
+ }
868
+ }),
869
+ alignCenter: true,
870
+ closable: false,
871
+ onOk: function () {
872
+ var _onOk = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
873
+ return _regeneratorRuntime.wrap(function (_context) {
874
+ while (1) switch (_context.prev = _context.next) {
875
+ case 0:
876
+ return _context.abrupt("return", _this7._userControl.claimHost(hostKey).then(function (res) {
877
+ _this7._showToast(transI18n('fmt_hostkey_meetingroom_toast_now_host'));
878
+ })["catch"](function (err) {
879
+ if (err.code === '732403105') return {
880
+ message: errMessage === null || errMessage === void 0 ? void 0 : errMessage["".concat(err.code)]
881
+ };
882
+ _this7._showToast(err.code === 0 ? transI18n('fmt_hostkey_meetingroom_toast_now_host') : (errMessage === null || errMessage === void 0 ? void 0 : errMessage["".concat(err.code)]) || err.message, err.code === 0 ? 'normal' : 'error');
883
+ }));
884
+ case 1:
885
+ case "end":
886
+ return _context.stop();
887
+ }
888
+ }, _callee);
889
+ }));
890
+ function onOk() {
891
+ return _onOk.apply(this, arguments);
892
+ }
893
+ return onOk;
894
+ }(),
895
+ onCancel: function onCancel() {
896
+ _this7.closeConfirmDialog(dialogId);
897
+ }
898
+ });
899
+ }
900
+
901
+ // room control actions
902
+ }, {
903
+ key: "_muteAllAudio",
904
+ value: function _muteAllAudio(allowUnmute, JoinWithMuteAudio) {
905
+ var _this8 = this;
906
+ // 使用 runInAction 将所有状态更新包装在一个事务中,避免多次渲染
907
+ runInAction(function () {
908
+ _this8._privilegeProvider.allowJoinWithMutedAudio(JoinWithMuteAudio);
909
+ _this8._privilegeProvider.allowStartAudio(allowUnmute);
910
+ _this8._privilegeProvider.muteAll();
911
+ _this8._sharedSecurityDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, _this8.checkedStateMap), {
912
+ enableJoinWithAudio: JoinWithMuteAudio,
913
+ unmuteYourself: allowUnmute
914
+ }));
915
+ });
916
+ this._showToast(transI18n('fmt_uimanager_tips_allmuted'));
917
+ }
918
+ }, {
919
+ key: "_unmuteAllAudio",
920
+ value: function _unmuteAllAudio() {
921
+ var _this9 = this;
922
+ this._setPrivilegeAndUpdateUI(function () {
923
+ return _this9._privilegeProvider.allowStartAudio(true);
924
+ }, {
925
+ unmuteYourself: true
926
+ });
927
+ }
928
+
929
+ //允许自我解除静音
930
+ }, {
931
+ key: "_enableSelfUnmute",
932
+ value: function _enableSelfUnmute(enable) {
933
+ var _this0 = this;
934
+ this._setPrivilegeAndUpdateUI(function () {
935
+ return _this0._privilegeProvider.allowStartAudio(enable);
936
+ }, {
937
+ unmuteYourself: enable
938
+ });
939
+ }
940
+ }, {
941
+ key: "_enableOpenVideo",
942
+ value: function _enableOpenVideo(enable) {
943
+ var _this1 = this;
944
+ this._setPrivilegeAndUpdateUI(function () {
945
+ return _this1._privilegeProvider.allowStartVideo(enable);
946
+ }, {
947
+ startVideo: enable
948
+ });
949
+ }
950
+ }, {
951
+ key: "_revokeHost",
952
+ value: function _revokeHost() {
953
+ if (!this._privilegeProvider.hasRevokeHostPermission() || this.localUser.userRole === FcrUserRole.HOST) {
954
+ return;
955
+ }
956
+ this._userControl.revokeHost();
957
+ }
958
+ }, {
959
+ key: "_lockRoom",
960
+ value: function _lockRoom(enable) {
961
+ var _this10 = this;
962
+ this._showToast(enable ? transI18n('fmt_security_tips_lock_meeting_on') : transI18n('fmt_security_tips_lock_meeting_off'), 'info');
963
+ this._setPrivilegeAndUpdateUI(function () {
964
+ return _this10._privilegeProvider.enableLockedRoom(enable);
965
+ }, {
966
+ lockRoom: enable
967
+ });
968
+ }
969
+ }, {
970
+ key: "_enableRename",
971
+ value: function _enableRename(enable) {
972
+ var _this11 = this;
973
+ this._setPrivilegeAndUpdateUI(function () {
974
+ return _this11._privilegeProvider.allowChangeUserName(enable);
975
+ }, {
976
+ rename: enable
977
+ });
978
+ }
979
+
980
+ // 所有人加入会议时静音
981
+ }, {
982
+ key: "enableJoinWithMuteAudio",
983
+ value: function enableJoinWithMuteAudio(enable) {
984
+ var _this12 = this;
985
+ this._setPrivilegeAndUpdateUI(function () {
986
+ return _this12._privilegeProvider.allowJoinWithMutedAudio(enable);
987
+ }, {
988
+ enableJoinWithAudio: enable
989
+ });
990
+ }
991
+ }, {
992
+ key: "moveToMainRoomByUserIds",
993
+ value: function moveToMainRoomByUserIds(userId) {
994
+ if (this._waitingRoomControl) {
995
+ this._waitingRoomControl.moveToMainRoomByUserIds(userId);
996
+ }
997
+ }
998
+ }, {
999
+ key: "kickOutWaitingRoomAllMember",
1000
+ value: function () {
1001
+ var _kickOutWaitingRoomAllMember = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(type) {
1002
+ var _this$_waitingRoomUse;
1003
+ return _regeneratorRuntime.wrap(function (_context2) {
1004
+ while (1) switch (_context2.prev = _context2.next) {
1005
+ case 0:
1006
+ _context2.next = 1;
1007
+ return (_this$_waitingRoomUse = this._waitingRoomUserControl) === null || _this$_waitingRoomUse === void 0 ? void 0 : _this$_waitingRoomUse.kickOutByUserRoles([FcrUserRole.PARTICIPANT], type);
1008
+ case 1:
1009
+ this._showToast(transI18n('fmt_waitingroom_mobile_memberlist_tips_all_removed'));
1010
+ case 2:
1011
+ case "end":
1012
+ return _context2.stop();
1013
+ }
1014
+ }, _callee2, this);
1015
+ }));
1016
+ function kickOutWaitingRoomAllMember(_x) {
1017
+ return _kickOutWaitingRoomAllMember.apply(this, arguments);
1018
+ }
1019
+ return kickOutWaitingRoomAllMember;
1020
+ }()
1021
+ }, {
1022
+ key: "moveToMainRoomAllMember",
1023
+ value: function () {
1024
+ var _moveToMainRoomAllMember = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
1025
+ var _this$_waitingRoomCon;
1026
+ return _regeneratorRuntime.wrap(function (_context3) {
1027
+ while (1) switch (_context3.prev = _context3.next) {
1028
+ case 0:
1029
+ _context3.next = 1;
1030
+ return (_this$_waitingRoomCon = this._waitingRoomControl) === null || _this$_waitingRoomCon === void 0 ? void 0 : _this$_waitingRoomCon.moveToMainRoomByUserRoles([FcrUserRole.PARTICIPANT]);
1031
+ case 1:
1032
+ this._showToast(transI18n('fmt_waitingroom_mobile_memberlist_tips_all_amitted'));
1033
+ case 2:
1034
+ case "end":
1035
+ return _context3.stop();
1036
+ }
1037
+ }, _callee3, this);
1038
+ }));
1039
+ function moveToMainRoomAllMember() {
1040
+ return _moveToMainRoomAllMember.apply(this, arguments);
1041
+ }
1042
+ return moveToMainRoomAllMember;
1043
+ }()
1044
+ }, {
1045
+ key: "removeWaitingRoomUser",
1046
+ value: function removeWaitingRoomUser(userId, type) {
1047
+ var _this$_waitingRoomUse2;
1048
+ (_this$_waitingRoomUse2 = this._waitingRoomUserControl) === null || _this$_waitingRoomUse2 === void 0 || _this$_waitingRoomUse2.kickOutByUserIds([userId], type);
1049
+ }
1050
+ }, {
1051
+ key: "removePin",
1052
+ value: function removePin(userId) {
1053
+ var streamId = this._getPinStreamIdFromUser(userId);
1054
+ if (streamId) {
1055
+ this._sharedPinDataSource.removePin(streamId);
1056
+ }
1057
+ }
1058
+ }, {
1059
+ key: "isHostSupportedByPlatform",
1060
+ value: function isHostSupportedByPlatform(userId) {
1061
+ var _this$userMap$get3;
1062
+ var user = (_this$userMap$get3 = this.userMap.get(userId)) === null || _this$userMap$get3 === void 0 ? void 0 : _this$userMap$get3.userInfo;
1063
+ if (!user) return false;
1064
+ if (!user.platform) return false;
1065
+ return this._abilityProvider.isHostSupportedByPlatform(user.platform);
1066
+ }
1067
+ }, {
1068
+ key: "addPin",
1069
+ value: function addPin(userId) {
1070
+ var shouldHideMyVideo = this._sharedSettingDataSource.setting.shouldHideMyVideo;
1071
+ if (shouldHideMyVideo && userId === this.localUser.userId) {
1072
+ this._showToast(transI18n('fmt_internalsetting_other_hide_my_window_pin_cancelled'), 'error');
1073
+ return;
1074
+ }
1075
+ var streamId = this._getPinStreamIdFromUser(userId);
1076
+ if (streamId) {
1077
+ this._sharedPinDataSource.addPin(streamId);
1078
+ }
1079
+ }
1080
+ }, {
1081
+ key: "_getPinStreamIdFromUser",
1082
+ value: function _getPinStreamIdFromUser(userId) {
1083
+ var _streams$find;
1084
+ var user = this.userMap.get(userId);
1085
+ var isPSTN = (user === null || user === void 0 ? void 0 : user.userInfo.connectorType) === FcrRoomConnectorType.PSTN;
1086
+ var streams = user === null || user === void 0 ? void 0 : user.streams;
1087
+ var streamId = streams === null || streams === void 0 || (_streams$find = streams.find(function (stream) {
1088
+ return stream.videoSourceType === FcrVideoSourceType.CAMERA || isPSTN && stream.videoSourceType === FcrVideoSourceType.NONE;
1089
+ })) === null || _streams$find === void 0 ? void 0 : _streams$find.streamId;
1090
+ return streamId;
1091
+ }
1092
+ }, {
1093
+ key: "_getDefaultUserData",
1094
+ value:
1095
+ /**
1096
+ * 获取默认用户数据(用于错误处理)
1097
+ * @returns 默认用户数据
1098
+ */
1099
+ function _getDefaultUserData() {
1100
+ return {
1101
+ userId: '',
1102
+ userName: '',
1103
+ isHost: false,
1104
+ isMe: false,
1105
+ hasAudio: false,
1106
+ hasVideo: false,
1107
+ isScreenSharing: false,
1108
+ audioDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.NONE,
1109
+ videoDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.NONE,
1110
+ userType: USER_FORMAT_CONFIG.USER_TYPES.NORMAL,
1111
+ userRole: FcrUserRole.PARTICIPANT,
1112
+ isSpotlight: false,
1113
+ isBoardActive: false,
1114
+ allowedOperations: [],
1115
+ isPin: false,
1116
+ hideAudioConnectIcon: false,
1117
+ avatar: ''
1118
+ };
1119
+ }
1120
+
1121
+ /**
1122
+ * 获取用户基础信息
1123
+ * @param user 用户数据
1124
+ * @param isSelf 是否为当前用户
1125
+ * @returns 基础信息对象
1126
+ */
1127
+ }, {
1128
+ key: "_getUserBaseInfo",
1129
+ value: function _getUserBaseInfo(user, isSelf) {
1130
+ return {
1131
+ userId: user.userId,
1132
+ userName: user.userInfo.userName,
1133
+ isHost: user.userInfo.userRole === FcrUserRole.HOST,
1134
+ isMe: isSelf,
1135
+ userRole: user.userInfo.userRole,
1136
+ isBoardActive: user.userInfo.isBoardActive,
1137
+ avatar: user.userInfo.avatar,
1138
+ allowedOperations: this.allowedOperations(user.userId, user.userInfo.userRole),
1139
+ isPin: this.checkIsPin(user.userId),
1140
+ hideAudioConnectIcon: false
1141
+ };
1142
+ }
1143
+
1144
+ /**
1145
+ * 获取用户设备信息
1146
+ * @param user 用户数据
1147
+ * @param userStreams 用户流数据
1148
+ * @param isSelf 是否为当前用户
1149
+ * @returns 设备信息对象
1150
+ */
1151
+ }, {
1152
+ key: "_getUserDeviceInfo",
1153
+ value: function _getUserDeviceInfo(user, userStreams, isSelf) {
1154
+ var connectorType = user.userInfo.connectorType;
1155
+ switch (connectorType) {
1156
+ case FcrRoomConnectorType.NONE:
1157
+ return this._getNormalUserDeviceInfo(userStreams, isSelf);
1158
+ case FcrRoomConnectorType.PSTN:
1159
+ return this._getPstnUserDeviceInfo(userStreams);
1160
+ case FcrRoomConnectorType.SIP:
1161
+ case FcrRoomConnectorType.H323:
1162
+ return this._getSipOrH323UserDeviceInfo(userStreams);
1163
+ default:
1164
+ return this._getDefaultDeviceInfo();
1165
+ }
1166
+ }
1167
+
1168
+ /**
1169
+ * 获取普通用户(电脑客户端)的设备信息
1170
+ * @param userStreams 用户流数据
1171
+ * @param isSelf 是否为当前用户
1172
+ * @returns 设备信息对象
1173
+ */
1174
+ }, {
1175
+ key: "_getNormalUserDeviceInfo",
1176
+ value: function _getNormalUserDeviceInfo(userStreams, isSelf) {
1177
+ var defaultStream = this._findStreamByVideoSourceType(userStreams, FcrVideoSourceType.CAMERA);
1178
+ var pstnStream = this._findStreamByConnectorType(userStreams, FcrRoomConnectorType.PSTN);
1179
+ var hasVideo = isSelf ? this._deviceStore.cameraEnabled : this._hasVideoPublishedAndStarted(defaultStream);
1180
+ if (pstnStream) {
1181
+ // 有PSTN流,使用电话麦克风
1182
+ return {
1183
+ audioDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.PHONE_MIC,
1184
+ videoDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.COMPUTER_CAM,
1185
+ userType: USER_FORMAT_CONFIG.USER_TYPES.NORMAL,
1186
+ hasAudio: pstnStream.audioSourceState === FcrMediaSourceState.OPEN,
1187
+ hasVideo: hasVideo
1188
+ };
1189
+ } else {
1190
+ // 普通电脑客户端
1191
+ return {
1192
+ audioDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.COMPUTER_MIC,
1193
+ videoDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.COMPUTER_CAM,
1194
+ userType: USER_FORMAT_CONFIG.USER_TYPES.NORMAL,
1195
+ hasAudio: isSelf ? this._deviceStore.microphoneEnabled : this._hasAudioPublishedAndStarted(defaultStream),
1196
+ hasVideo: hasVideo
1197
+ };
1198
+ }
1199
+ }
1200
+
1201
+ /**
1202
+ * 获取PSTN电话用户的设备信息
1203
+ * @param userStreams 用户流数据
1204
+ * @returns 设备信息对象
1205
+ */
1206
+ }, {
1207
+ key: "_getPstnUserDeviceInfo",
1208
+ value: function _getPstnUserDeviceInfo(userStreams) {
1209
+ var pstnStream = this._findStreamByConnectorType(userStreams, FcrRoomConnectorType.PSTN);
1210
+ return {
1211
+ audioDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.PHONE_MIC,
1212
+ videoDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.NONE,
1213
+ userType: USER_FORMAT_CONFIG.USER_TYPES.PHONE,
1214
+ hasAudio: this._hasAudioPublishedAndStarted(pstnStream),
1215
+ hasVideo: false
1216
+ };
1217
+ }
1218
+
1219
+ /**
1220
+ * 获取SIP/H323会议系统用户的设备信息
1221
+ * @param userStreams 用户流数据
1222
+ * @returns 设备信息对象
1223
+ */
1224
+ }, {
1225
+ key: "_getSipOrH323UserDeviceInfo",
1226
+ value: function _getSipOrH323UserDeviceInfo(userStreams) {
1227
+ var sipOrH323Stream = this._findSipOrH323Stream(userStreams);
1228
+ return {
1229
+ audioDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.PHONE_MIC,
1230
+ videoDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.COMPUTER_CAM,
1231
+ userType: USER_FORMAT_CONFIG.USER_TYPES.MEETING_SYSTEM,
1232
+ hasAudio: this._hasAudioPublishedAndStarted(sipOrH323Stream),
1233
+ hasVideo: this._hasVideoPublishedAndStarted(sipOrH323Stream)
1234
+ };
1235
+ }
1236
+
1237
+ /**
1238
+ * 获取默认设备信息
1239
+ * @returns 默认设备信息对象
1240
+ */
1241
+ }, {
1242
+ key: "_getDefaultDeviceInfo",
1243
+ value: function _getDefaultDeviceInfo() {
1244
+ return {
1245
+ audioDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.AUDIO.NONE,
1246
+ videoDeviceType: USER_FORMAT_CONFIG.DEVICE_TYPES.VIDEO.NONE,
1247
+ userType: USER_FORMAT_CONFIG.USER_TYPES.NORMAL,
1248
+ hasAudio: false,
1249
+ hasVideo: false
1250
+ };
1251
+ }
1252
+
1253
+ /**
1254
+ * 获取用户流状态信息
1255
+ * @param user 用户数据
1256
+ * @param userStreams 用户流数据
1257
+ * @returns 流状态信息对象
1258
+ */
1259
+ }, {
1260
+ key: "_getUserStreamInfo",
1261
+ value: function _getUserStreamInfo(user, userStreams) {
1262
+ var _this13 = this;
1263
+ var hasShareScreen = userStreams.some(function (stream) {
1264
+ return stream.videoSourceType === FcrVideoSourceType.SCREEN;
1265
+ });
1266
+ var isSpotlight = userStreams.some(function (stream) {
1267
+ return stream.streamId === _this13.spotlightStreamId;
1268
+ });
1269
+ return {
1270
+ isScreenSharing: !!hasShareScreen,
1271
+ isSpotlight: isSpotlight
1272
+ };
1273
+ }
1274
+
1275
+ /**
1276
+ * 根据视频源类型查找流
1277
+ * @param userStreams 用户流数组
1278
+ * @param videoSourceType 视频源类型
1279
+ * @returns 找到的流或undefined
1280
+ */
1281
+ }, {
1282
+ key: "_findStreamByVideoSourceType",
1283
+ value: function _findStreamByVideoSourceType(userStreams, videoSourceType) {
1284
+ return userStreams.find(function (stream) {
1285
+ return stream.videoSourceType === videoSourceType;
1286
+ });
1287
+ }
1288
+
1289
+ /**
1290
+ * 根据连接器类型查找流
1291
+ * @param userStreams 用户流数组
1292
+ * @param connectorType 连接器类型
1293
+ * @returns 找到的流或undefined
1294
+ */
1295
+ }, {
1296
+ key: "_findStreamByConnectorType",
1297
+ value: function _findStreamByConnectorType(userStreams, connectorType) {
1298
+ return userStreams.find(function (stream) {
1299
+ return stream.connectorType === connectorType;
1300
+ });
1301
+ }
1302
+
1303
+ /**
1304
+ * 查找SIP或H323流
1305
+ * @param userStreams 用户流数组
1306
+ * @returns 找到的流或undefined
1307
+ */
1308
+ }, {
1309
+ key: "_findSipOrH323Stream",
1310
+ value: function _findSipOrH323Stream(userStreams) {
1311
+ return userStreams.find(function (stream) {
1312
+ return [FcrRoomConnectorType.SIP, FcrRoomConnectorType.H323].includes(stream.connectorType);
1313
+ });
1314
+ }
1315
+
1316
+ /**
1317
+ * 检查流是否有音频发布并已启动
1318
+ * @param stream 流信息
1319
+ * @returns 是否有音频发布并已启动
1320
+ */
1321
+ }, {
1322
+ key: "_hasAudioPublishedAndStarted",
1323
+ value: function _hasAudioPublishedAndStarted(stream) {
1324
+ return (stream === null || stream === void 0 ? void 0 : stream.audioSourceState) === FcrMediaSourceState.OPEN;
1325
+ }
1326
+
1327
+ /**
1328
+ * 检查流是否有视频发布并已启动
1329
+ * @param stream 流信息
1330
+ * @returns 是否有视频发布并已启动
1331
+ */
1332
+ }, {
1333
+ key: "_hasVideoPublishedAndStarted",
1334
+ value: function _hasVideoPublishedAndStarted(stream) {
1335
+ return (stream === null || stream === void 0 ? void 0 : stream.videoSourceState) === FcrMediaSourceState.OPEN;
1336
+ }
1337
+
1338
+ // [其他所有私有方法的实现...]
1339
+ }, {
1340
+ key: "_handleRemoteUsersJoined",
1341
+ value: function _handleRemoteUsersJoined(roomId, events) {
1342
+ if (events.some(function (user) {
1343
+ return user.userInfo.userRole === FcrUserRole.HOST;
1344
+ })) {
1345
+ this.showBecomeHostButton = false;
1346
+ this._showToast('主持人已进入会议', 'info');
1347
+ }
1348
+ }
1349
+ }, {
1350
+ key: "_handleUserInfoUpdated",
1351
+ value: function _handleUserInfoUpdated(roomId, event) {
1352
+ if (event.reason === FcrUserUpdatedReason.ROLE && event.modifiedUser.userRole === FcrUserRole.HOST) {
1353
+ this.showBecomeHostButton = false;
1354
+ }
1355
+ }
1356
+ }, {
1357
+ key: "_handleUserCountUpdated",
1358
+ value: function _handleUserCountUpdated(roomId, count) {
1359
+ this._userCount = count;
1360
+ }
1361
+ }, {
1362
+ key: "_handleUserPropertiesUpdated",
1363
+ value: function _handleUserPropertiesUpdated() {
1364
+ this._getOutputLanguage();
1365
+ }
1366
+ }, {
1367
+ key: "handleConfirmChangeName",
1368
+ value: function () {
1369
+ var _handleConfirmChangeName = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {
1370
+ var _this14 = this;
1371
+ return _regeneratorRuntime.wrap(function (_context4) {
1372
+ while (1) switch (_context4.prev = _context4.next) {
1373
+ case 0:
1374
+ _context4.next = 1;
1375
+ return this._userControl.updateUserName(this._renamingUserId, this.newName);
1376
+ case 1:
1377
+ runInAction(function () {
1378
+ _this14._closeChangeNameDialog();
1379
+ _this14._showToast(transI18n('fmt_additional_tips_nickname_change_success'));
1380
+ });
1381
+ case 2:
1382
+ case "end":
1383
+ return _context4.stop();
1384
+ }
1385
+ }, _callee4, this);
1386
+ }));
1387
+ function handleConfirmChangeName() {
1388
+ return _handleConfirmChangeName.apply(this, arguments);
1389
+ }
1390
+ return handleConfirmChangeName;
1391
+ }()
1392
+ }, {
1393
+ key: "handleCancelChangeName",
1394
+ value: function handleCancelChangeName() {
1395
+ this._closeChangeNameDialog();
1396
+ }
1397
+ }, {
1398
+ key: "_closeChangeNameDialog",
1399
+ value: function _closeChangeNameDialog() {
1400
+ this.newName = '';
1401
+ this._renamingUserId = '';
1402
+ this._renamingUserName = '';
1403
+ this._dialogProvider.closeDialog(FcrUIDialogKey.RENAME);
1404
+ }
1405
+ }, {
1406
+ key: "_getOutputLanguage",
1407
+ value: function () {
1408
+ var _getOutputLanguage2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
1409
+ var _this15 = this;
1410
+ var interpreterInputLanguageList, index, user, language;
1411
+ return _regeneratorRuntime.wrap(function (_context5) {
1412
+ while (1) switch (_context5.prev = _context5.next) {
1413
+ case 0:
1414
+ interpreterInputLanguageList = [];
1415
+ for (index = 0; index < this.userList.length; index++) {
1416
+ user = this.userList[index];
1417
+ language = this._userControl.getUserPropertiesByKeyPath('interpreterLangCode', user.userId);
1418
+ if (language) {
1419
+ interpreterInputLanguageList.push({
1420
+ userId: user.userId,
1421
+ language: language
1422
+ });
1423
+ }
1424
+ }
1425
+ runInAction(function () {
1426
+ _this15.interpreterInputLanguageList = interpreterInputLanguageList;
1427
+ });
1428
+ case 1:
1429
+ case "end":
1430
+ return _context5.stop();
1431
+ }
1432
+ }, _callee5, this);
1433
+ }));
1434
+ function _getOutputLanguage() {
1435
+ return _getOutputLanguage2.apply(this, arguments);
1436
+ }
1437
+ return _getOutputLanguage;
1438
+ }()
1439
+ }, {
1440
+ key: "handlerUserAction",
1441
+ value: function handlerUserAction(action, userId) {
1442
+ this.logger.info("handler User Action: ".concat(action, ", target userId: ").concat(userId));
1443
+ switch (action) {
1444
+ case ParticipantActionType.MUTE_AUDIO:
1445
+ this._muteUserAudio(userId);
1446
+ break;
1447
+ case ParticipantActionType.UNMUTE_AUDIO:
1448
+ this._unmuteUserAudio(userId);
1449
+ break;
1450
+ case ParticipantActionType.MUTE_VIDEO:
1451
+ this._muteUserVideo(userId);
1452
+ break;
1453
+ case ParticipantActionType.UNMUTE_VIDEO:
1454
+ this._unmuteUserVideo(userId);
1455
+ break;
1456
+ case ParticipantActionType.PRIVATE_CHAT:
1457
+ this._privateChat(userId);
1458
+ break;
1459
+ case ParticipantActionType.KICK_OUT:
1460
+ this._kickOutUser(userId);
1461
+ break;
1462
+ case ParticipantActionType.ADD_PIN:
1463
+ this.addPin(userId);
1464
+ break;
1465
+ case ParticipantActionType.REMOVE_PIN:
1466
+ this.removePin(userId);
1467
+ break;
1468
+ case ParticipantActionType.SET_AS_HOST:
1469
+ this._setAsHost(userId);
1470
+ break;
1471
+ case ParticipantActionType.SET_AS_CO_HOST:
1472
+ this._setAsCoHost(userId);
1473
+ break;
1474
+ case ParticipantActionType.SET_AS_ATTENDEE:
1475
+ this._setAsAttendee(userId);
1476
+ break;
1477
+ case ParticipantActionType.RENAME_IN_MEETING:
1478
+ this._openChangeNameDialog(userId);
1479
+ break;
1480
+ case ParticipantActionType.PUT_IN_WAITING_ROOM:
1481
+ this._moveToWaitingRoomByUserId(userId);
1482
+ break;
1483
+ }
1484
+ }
1485
+ }, {
1486
+ key: "handleActiveTab",
1487
+ value: function handleActiveTab(tab) {
1488
+ this.activeTab = tab;
1489
+ if (this.activeTab === FcrUIRoomType.WAITING_ROOM) {
1490
+ this._sharedWaitingRoomDataSource.unReadState = false;
1491
+ }
1492
+ }
1493
+
1494
+ // [所有其他方法的完整实现...]
1495
+
1496
+ /**
1497
+ * 检查是否在会话持续时间内,避免重复发送请求
1498
+ * @param userId 用户ID
1499
+ * @param timestampMap 时间戳映射表
1500
+ * @returns 如果在持续时间内返回true,否则返回false
1501
+ */
1502
+ }, {
1503
+ key: "_isWithinSessionDuration",
1504
+ value: function _isWithinSessionDuration(userId, timestampMap) {
1505
+ var _timestampMap$get;
1506
+ var now = Date.now();
1507
+ return now - ((_timestampMap$get = timestampMap.get(userId)) !== null && _timestampMap$get !== void 0 ? _timestampMap$get : 0) <= SESSION_DURATION * 1000;
1508
+ }
1509
+
1510
+ /**
1511
+ * 设置权限并更新UI状态
1512
+ * 设置权限后需要同步更新UI状态
1513
+ * @param setPrivilege 设置权限的函数
1514
+ * @param uiState 要更新的UI状态
1515
+ */
1516
+ }, {
1517
+ key: "_setPrivilegeAndUpdateUI",
1518
+ value: function _setPrivilegeAndUpdateUI(setPrivilege, uiState) {
1519
+ setPrivilege();
1520
+ this._sharedSecurityDataSource.setCheckedStateMap(_objectSpread(_objectSpread({}, this.checkedStateMap), uiState));
1521
+ }
1522
+
1523
+ /**
1524
+ * 显示toast消息的辅助方法
1525
+ * @param message 消息内容
1526
+ * @param type 消息类型,默认为'normal'
1527
+ */
1528
+ }, {
1529
+ key: "_showToast",
1530
+ value: function _showToast(message) {
1531
+ var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'normal';
1532
+ this._messageProvider.showToast({
1533
+ message: message,
1534
+ type: type
1535
+ });
1536
+ }
1537
+
1538
+ /**
1539
+ * 打开对话框的辅助方法
1540
+ * @param dialogKey 对话框键值
1541
+ */
1542
+ }, {
1543
+ key: "_openDialog",
1544
+ value: function _openDialog(dialogKey, params) {
1545
+ this._dialogProvider.openDialog(dialogKey, params);
1546
+ }
1547
+
1548
+ /**
1549
+ * 更新流发布权限的辅助方法
1550
+ * @param streamId 流ID
1551
+ * @param audioPrivilege 音频权限
1552
+ * @param videoPrivilege 视频权限
1553
+ */
1554
+ }, {
1555
+ key: "_updateStreamPrivilege",
1556
+ value: function _updateStreamPrivilege(streamId, audioPrivilege, videoPrivilege) {
1557
+ this._streamControl.updatePublishPrivilegeOfStreams(_defineProperty({}, streamId, {
1558
+ audioPrivilege: audioPrivilege,
1559
+ videoPrivilege: videoPrivilege
1560
+ }));
1561
+ }
1562
+
1563
+ /**
1564
+ * 获取用户的目标音频流
1565
+ * @param userId 用户ID
1566
+ * @returns 目标流信息,包含硬件设备流和普通客户端流
1567
+ */
1568
+ }, {
1569
+ key: "_getUserTargetAudioStreams",
1570
+ value: function _getUserTargetAudioStreams(userId) {
1571
+ var userStreams = this._streamControl.getStreamsByUserId(userId);
1572
+
1573
+ // 查找硬件设备流(PSTN电话、SIP、H323等外部设备连接)
1574
+ var hardwareDeviceStream = userStreams.find(function (stream) {
1575
+ return stream.connectorType !== FcrRoomConnectorType.NONE;
1576
+ });
1577
+
1578
+ // 查找普通客户端流(来自电脑摄像头/麦克风的流)
1579
+ var normalClientStream = userStreams.find(function (stream) {
1580
+ return stream.videoSourceType === FcrVideoSourceType.CAMERA;
1581
+ });
1582
+ return {
1583
+ hardwareDeviceStream: hardwareDeviceStream,
1584
+ normalClientStream: normalClientStream,
1585
+ isLocalUser: userId === this.localUser.userId
1586
+ };
1587
+ }
1588
+
1589
+ /**
1590
+ * 静音指定用户的音频
1591
+ * @param userId 用户ID
1592
+ */
1593
+ }, {
1594
+ key: "_muteUserAudio",
1595
+ value: function _muteUserAudio(userId) {
1596
+ var _this$_getUserTargetA = this._getUserTargetAudioStreams(userId),
1597
+ hardwareDeviceStream = _this$_getUserTargetA.hardwareDeviceStream,
1598
+ normalClientStream = _this$_getUserTargetA.normalClientStream,
1599
+ isLocalUser = _this$_getUserTargetA.isLocalUser;
1600
+
1601
+ // 如果是本地用户,需要先禁用本地麦克风设备
1602
+ if (isLocalUser) {
1603
+ this._deviceStreamStore.enableMicrophoneWithPreCheck(false);
1604
+ }
1605
+
1606
+ // 优先选择硬件设备流,如果没有则选择普通客户端流
1607
+ var targetStream = hardwareDeviceStream !== null && hardwareDeviceStream !== void 0 ? hardwareDeviceStream : normalClientStream;
1608
+
1609
+ // 如果找到目标流,则更新流的发布权限来静音
1610
+ if (targetStream) {
1611
+ this._updateStreamPrivilege(targetStream.streamId, FcrStreamPrivilegeOperation.NOPRIVILEGE,
1612
+ // 移除音频发布权限(静音)
1613
+ FcrStreamPrivilegeOperation.NOOPERATION // 视频权限保持不变
1614
+ );
1615
+ }
1616
+ }
1617
+
1618
+ /**
1619
+ * 取消静音指定用户的音频
1620
+ * @param userId 用户ID
1621
+ */
1622
+ }, {
1623
+ key: "_unmuteUserAudio",
1624
+ value: function _unmuteUserAudio(userId) {
1625
+ var _this$_getUserTargetA2 = this._getUserTargetAudioStreams(userId),
1626
+ hardwareDeviceStream = _this$_getUserTargetA2.hardwareDeviceStream,
1627
+ isLocalUser = _this$_getUserTargetA2.isLocalUser;
1628
+
1629
+ // 如果是硬件设备流,直接更新流的发布权限来取消静音
1630
+ if (hardwareDeviceStream) {
1631
+ this._updateStreamPrivilege(hardwareDeviceStream.streamId, FcrStreamPrivilegeOperation.HAS_PRIVILEGE, FcrStreamPrivilegeOperation.NOOPERATION);
1632
+ return;
1633
+ }
1634
+
1635
+ // 如果是本地用户,直接启用本地麦克风(上面硬件已经处理了,所以从这里往后都不是硬件设备了)
1636
+ if (isLocalUser) {
1637
+ this._deviceStreamStore.enableMicrophoneWithPreCheck(true);
1638
+ return;
1639
+ }
1640
+ // 邀请对端开启麦克风
1641
+ // 检查是否在会话持续时间内,避免重复发送请求
1642
+ if (this._isWithinSessionDuration(userId, this._unmuteAudioTimestamp)) {
1643
+ return;
1644
+ }
1645
+ this._unmuteAudioTimestamp.set(userId, Date.now());
1646
+ this._peerSessionControl.startPeerSession({
1647
+ sessionKey: FcrUISessionKey.REQUEST_OPEN_MICROPHONE,
1648
+ receiverId: userId,
1649
+ duration: SESSION_DURATION,
1650
+ payload: {
1651
+ sender: this.localUser
1652
+ }
1653
+ });
1654
+ }
1655
+
1656
+ /**
1657
+ * 静音指定用户的视频
1658
+ * @param userId 用户ID
1659
+ */
1660
+ }, {
1661
+ key: "_muteUserVideo",
1662
+ value: function _muteUserVideo(userId) {
1663
+ var isSelf = userId === this.localUser.userId;
1664
+ if (isSelf) {
1665
+ this._deviceStreamStore.enableCameraWithPreCheck(false);
1666
+ return;
1667
+ }
1668
+ var targetUsers = this._streamControl.getStreamsByUserId(userId);
1669
+ var targetUser = targetUsers.find(function (stream) {
1670
+ return stream.videoSourceType === FcrVideoSourceType.CAMERA;
1671
+ });
1672
+ if (!targetUser) {
1673
+ return;
1674
+ }
1675
+ this._updateStreamPrivilege(targetUser.streamId, FcrStreamPrivilegeOperation.NOOPERATION, FcrStreamPrivilegeOperation.NOPRIVILEGE);
1676
+ }
1677
+ }, {
1678
+ key: "_unmuteUserVideo",
1679
+ value: function _unmuteUserVideo(userId) {
1680
+ var isSelf = userId === this.localUser.userId;
1681
+ if (isSelf) {
1682
+ this._deviceStreamStore.enableCameraWithPreCheck(true);
1683
+ return;
1684
+ }
1685
+ if (this._isWithinSessionDuration(userId, this._unmuteVideoTimestamp)) {
1686
+ return;
1687
+ }
1688
+ this._unmuteVideoTimestamp.set(userId, Date.now());
1689
+ this._peerSessionControl.startPeerSession({
1690
+ sessionKey: FcrUISessionKey.REQUEST_OPEN_CAMERA,
1691
+ receiverId: userId,
1692
+ duration: SESSION_DURATION,
1693
+ payload: {
1694
+ sender: this.localUser
1695
+ }
1696
+ });
1697
+ }
1698
+ }, {
1699
+ key: "_privateChat",
1700
+ value: function _privateChat(userId) {
1701
+ var userData = this.userListSource.find(function (u) {
1702
+ return u.userId === userId;
1703
+ });
1704
+ if (userData) {
1705
+ var hasPermissionToSendPrivateMessage = this._privilegeProvider.hasPermissionToSendPrivateMessage(userData.userInfo.userRole);
1706
+ if (!hasPermissionToSendPrivateMessage) {
1707
+ this._showToast(transI18n('fmt_attendies_tips_chat_off'), 'error');
1708
+ return;
1709
+ }
1710
+ if (!this._privilegeProvider.permitPrivateChat(userId)) {
1711
+ return;
1712
+ }
1713
+ this._chatProvider.setPrivateChatTargetUser(userData.userInfo, this.activeTab);
1714
+ // TODO:
1715
+ // if (isElectron() && this.screenSharingOwner?.userId === this.localUser.userId) {
1716
+ // this._sharedLayoutDataSource.setParticipantsRenderAt('dialog');
1717
+ // this._dialogProvider.openDialog(FcrUIDialogKey.CHAT);
1718
+ // return;
1719
+ // }
1720
+ // 打开私聊对话框
1721
+ var res = this.openChatWindow();
1722
+ if (res) {
1723
+ return;
1724
+ }
1725
+ if (this._sharedLayoutDataSource.chatRenderAt !== 'dialog') {
1726
+ this._sharedLayoutDataSource.setAsideLayout({
1727
+ chat: true
1728
+ });
1729
+ this._sharedChatDataSource.activeTab = this.activeTab;
1730
+ } else {
1731
+ this._openDialog(FcrUIDialogKey.CHAT);
1732
+ }
1733
+ }
1734
+ }
1735
+ }, {
1736
+ key: "_setAsHost",
1737
+ value: function _setAsHost(userId) {
1738
+ this._showSetHostDialog(userId, FcrUserRole.HOST);
1739
+ }
1740
+ }, {
1741
+ key: "_setAsCoHost",
1742
+ value: function _setAsCoHost(userId) {
1743
+ this._showSetHostDialog(userId, FcrUserRole.COHOST);
1744
+ }
1745
+
1746
+ /**
1747
+ * 显示设置主持人/联席主持人对话框
1748
+ * @param userId 用户ID
1749
+ * @param type 角色类型
1750
+ */
1751
+ }, {
1752
+ key: "_showSetHostDialog",
1753
+ value: function _showSetHostDialog(userId, type) {
1754
+ var _this16 = this;
1755
+ if ([FcrUserRole.HOST, FcrUserRole.COHOST].includes(type)) {
1756
+ var canSetHost = this.isHostSupportedByPlatform(userId);
1757
+ if (!canSetHost) {
1758
+ var errorMessage = type === FcrUserRole.HOST ? transI18n('fmt_attendies_toast_cant_sethost') : transI18n('fmt_attendies_toast_cant_setcohost');
1759
+ this._showToast(errorMessage, 'error');
1760
+ return;
1761
+ }
1762
+ }
1763
+ var user = this.userMap.get(userId);
1764
+ if (!user) {
1765
+ this._showToast(transI18n('fmt_uimanager_tips_userleaft'), 'error');
1766
+ return;
1767
+ }
1768
+ var username = user.userInfo.userName;
1769
+ var targetRole = this._getRoleDisplayName(type);
1770
+ this.openConfirmDialog({
1771
+ title: transI18n('fmt_uimanager_labels_Setas', {
1772
+ reason1: targetRole
1773
+ }),
1774
+ content: transI18n('fmt_uimanager_tips_designedas', {
1775
+ reason1: username,
1776
+ reason2: targetRole
1777
+ }),
1778
+ onOk: function onOk() {
1779
+ return _this16._handleSetHostConfirmation(userId, type);
1780
+ },
1781
+ okText: transI18n('fmt_uimanager_labels_Setas', {
1782
+ reason1: targetRole
1783
+ }),
1784
+ cancelText: transI18n('fmt_security_buttons_cancel'),
1785
+ closable: false,
1786
+ alignCenter: true
1787
+ }, 'UPDATE_USER_ROLE');
1788
+ }
1789
+
1790
+ /**
1791
+ * 获取角色显示名称
1792
+ * @param type 角色类型
1793
+ * @returns 角色显示名称
1794
+ */
1795
+ }, {
1796
+ key: "_getRoleDisplayName",
1797
+ value: function _getRoleDisplayName(type) {
1798
+ return type === FcrUserRole.HOST ? transI18n('fmt_role_host') : transI18n('fmt_role_cohost');
1799
+ }
1800
+
1801
+ /**
1802
+ * 处理设置主持人确认操作
1803
+ * @param userId 用户ID
1804
+ * @param type 角色类型
1805
+ */
1806
+ }, {
1807
+ key: "_handleSetHostConfirmation",
1808
+ value: (function () {
1809
+ var _handleSetHostConfirmation2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee6(userId, type) {
1810
+ var _t;
1811
+ return _regeneratorRuntime.wrap(function (_context6) {
1812
+ while (1) switch (_context6.prev = _context6.next) {
1813
+ case 0:
1814
+ if (this.userMap.has(userId)) {
1815
+ _context6.next = 1;
1816
+ break;
1817
+ }
1818
+ this._showToast(transI18n('fmt_uimanager_tips_userleaft'), 'error');
1819
+ return _context6.abrupt("return");
1820
+ case 1:
1821
+ _context6.prev = 1;
1822
+ _context6.next = 2;
1823
+ return this._updateRemoteUserRole(userId, type);
1824
+ case 2:
1825
+ _context6.next = 4;
1826
+ break;
1827
+ case 3:
1828
+ _context6.prev = 3;
1829
+ _t = _context6["catch"](1);
1830
+ this._handleSetHostError(_t);
1831
+ case 4:
1832
+ case "end":
1833
+ return _context6.stop();
1834
+ }
1835
+ }, _callee6, this, [[1, 3]]);
1836
+ }));
1837
+ function _handleSetHostConfirmation(_x2, _x3) {
1838
+ return _handleSetHostConfirmation2.apply(this, arguments);
1839
+ }
1840
+ return _handleSetHostConfirmation;
1841
+ }()
1842
+ /**
1843
+ * 处理设置主持人时的错误
1844
+ * @param error 错误对象
1845
+ */
1846
+ )
1847
+ }, {
1848
+ key: "_handleSetHostError",
1849
+ value: function _handleSetHostError(error) {
1850
+ var _this17 = this;
1851
+ if (error instanceof FcrError) {
1852
+ var errorHandlers = _defineProperty(_defineProperty({}, ErrorCode.FAILED_TO_UPDATE_USER_ROLE_DUE_TO_PRIVILEGE, function () {
1853
+ _this17._messageProvider.showToast({
1854
+ type: 'error',
1855
+ message: transI18n('fmt_attendies_button_revokehost_error')
1856
+ });
1857
+ }), ErrorCode.FAILED_TO_UPDATE_USER_ROLE_DUE_TO_LIMIT_REACHED, function () {
1858
+ _this17._messageProvider.showToast({
1859
+ type: 'error',
1860
+ message: transI18n('fmt_attendies_toast_cohost_upper_limit')
1861
+ });
1862
+ });
1863
+ var handler = errorHandlers[error.code];
1864
+ if (handler) {
1865
+ handler();
1866
+ return;
1867
+ }
1868
+ }
1869
+ this.logger.error('Failed to set up the host:', error);
1870
+ }
1871
+ }, {
1872
+ key: "_updateRemoteUserRole",
1873
+ value: function _updateRemoteUserRole(userId, role) {
1874
+ this._userControl.updateRemoteUserRole(userId, role);
1875
+ }
1876
+ }, {
1877
+ key: "_setAsAttendee",
1878
+ value: function _setAsAttendee(userId) {
1879
+ this._userControl.updateRemoteUserRole(userId, FcrUserRole.PARTICIPANT);
1880
+ }
1881
+
1882
+ /**
1883
+ * 将指定用户移动到等待房间
1884
+ * @param userId 要移动的用户ID
1885
+ */
1886
+ }, {
1887
+ key: "_moveToWaitingRoomByUserId",
1888
+ value: (function () {
1889
+ var _moveToWaitingRoomByUserId2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(userId) {
1890
+ var username, _t2;
1891
+ return _regeneratorRuntime.wrap(function (_context7) {
1892
+ while (1) switch (_context7.prev = _context7.next) {
1893
+ case 0:
1894
+ if (!(!userId || typeof userId !== 'string')) {
1895
+ _context7.next = 1;
1896
+ break;
1897
+ }
1898
+ this.logger.warn('Invalid userId provided to _moveToWaitingRoomByUserId:', userId);
1899
+ return _context7.abrupt("return");
1900
+ case 1:
1901
+ if (this._isUserExists(userId)) {
1902
+ _context7.next = 2;
1903
+ break;
1904
+ }
1905
+ this.logger.warn('User not found for move to waiting room operation:', userId);
1906
+ return _context7.abrupt("return");
1907
+ case 2:
1908
+ username = this._getUserNameById(userId);
1909
+ _context7.prev = 3;
1910
+ this.logger.info('Moving user to waiting room:', {
1911
+ userId: userId,
1912
+ username: username
1913
+ });
1914
+ _context7.next = 4;
1915
+ return this._roomControl.moveToWaitingRoomByUserIds([userId]);
1916
+ case 4:
1917
+ this._showToast(transI18n('fmt_waitingroom_put_in_success', {
1918
+ reason1: username
1919
+ }), 'normal');
1920
+ this.logger.info('Successfully moved user to waiting room:', {
1921
+ userId: userId,
1922
+ username: username
1923
+ });
1924
+ _context7.next = 7;
1925
+ break;
1926
+ case 5:
1927
+ _context7.prev = 5;
1928
+ _t2 = _context7["catch"](3);
1929
+ this.logger.error('Failed to move user to waiting room:', {
1930
+ userId: userId,
1931
+ username: username,
1932
+ error: _t2
1933
+ });
1934
+ if (!(_t2 instanceof FcrError && _t2.code === ErrorCode.FAILED_TO_MOVE_USER_TO_WAITING_ROOM)) {
1935
+ _context7.next = 6;
1936
+ break;
1937
+ }
1938
+ this._showToast(transI18n('fmt_waitingroom_setting_popup_toast_unable_move_creator'), 'error');
1939
+ return _context7.abrupt("return");
1940
+ case 6:
1941
+ this._showToast(transI18n('fmt_waitingroom_setting_popup_toast_move_in_failed'), 'error');
1942
+ case 7:
1943
+ case "end":
1944
+ return _context7.stop();
1945
+ }
1946
+ }, _callee7, this, [[3, 5]]);
1947
+ }));
1948
+ function _moveToWaitingRoomByUserId(_x4) {
1949
+ return _moveToWaitingRoomByUserId2.apply(this, arguments);
1950
+ }
1951
+ return _moveToWaitingRoomByUserId;
1952
+ }()
1953
+ /**
1954
+ * 踢出用户的主入口方法
1955
+ * 根据当前房间类型选择相应的处理逻辑
1956
+ * @param userId 要踢出的用户ID
1957
+ */
1958
+ )
1959
+ }, {
1960
+ key: "_kickOutUser",
1961
+ value: function _kickOutUser(userId) {
1962
+ // 参数验证
1963
+ if (!userId || typeof userId !== 'string') {
1964
+ this.logger.warn('Invalid userId provided to _kickOutUser:', userId);
1965
+ return;
1966
+ }
1967
+
1968
+ // 检查用户是否存在
1969
+ if (!this._isUserExists(userId)) {
1970
+ this.logger.warn('User not found for kick out operation:', userId);
1971
+ return;
1972
+ }
1973
+ var isMainRoom = this.activeTab === FcrUIRoomType.MAIN_ROOM;
1974
+ if (isMainRoom) {
1975
+ this._kickOutUserFromMainRoom(userId);
1976
+ } else {
1977
+ this._kickOutUserFromWaitingRoom(userId);
1978
+ }
1979
+ }
1980
+
1981
+ /**
1982
+ * 从主房间踢出用户
1983
+ * @param userId 用户ID
1984
+ */
1985
+ }, {
1986
+ key: "_kickOutUserFromMainRoom",
1987
+ value: function _kickOutUserFromMainRoom(userId) {
1988
+ var userName = this._getUserNameById(userId);
1989
+ var dialogConfig = this._createMainRoomKickOutDialogConfig(userId, userName);
1990
+ this.openConfirmDialog(dialogConfig, KICK_OUT_DIALOG_CONFIG.MAIN_ROOM.DIALOG_ID);
1991
+ }
1992
+
1993
+ /**
1994
+ * 从等待房间踢出用户
1995
+ * @param userId 用户ID
1996
+ */
1997
+ }, {
1998
+ key: "_kickOutUserFromWaitingRoom",
1999
+ value: function _kickOutUserFromWaitingRoom(userId) {
2000
+ var userName = this._getUserNameById(userId);
2001
+ var dialogConfig = this._createWaitingRoomKickOutDialogConfig(userId, userName);
2002
+ this.openRemoveAdmitWaitingRoomDialog(dialogConfig);
2003
+ }
2004
+
2005
+ /**
2006
+ * 检查用户是否存在
2007
+ * @param userId 用户ID
2008
+ * @returns 用户是否存在
2009
+ */
2010
+ }, {
2011
+ key: "_isUserExists",
2012
+ value: function _isUserExists(userId) {
2013
+ return this.userMap.has(userId);
2014
+ }
2015
+
2016
+ /**
2017
+ * 根据用户ID获取用户名
2018
+ * @param userId 用户ID
2019
+ * @returns 用户名,如果找不到则返回空字符串
2020
+ */
2021
+ }, {
2022
+ key: "_getUserNameById",
2023
+ value: function _getUserNameById(userId) {
2024
+ var _this$userMap$get4;
2025
+ return ((_this$userMap$get4 = this.userMap.get(userId)) === null || _this$userMap$get4 === void 0 ? void 0 : _this$userMap$get4.userInfo.userName) || '';
2026
+ }
2027
+
2028
+ /**
2029
+ * 创建主房间踢出用户的对话框配置
2030
+ * @param userId 用户ID
2031
+ * @param userName 用户名
2032
+ * @returns 对话框配置对象
2033
+ */
2034
+ }, {
2035
+ key: "_createMainRoomKickOutDialogConfig",
2036
+ value: function _createMainRoomKickOutDialogConfig(userId, userName) {
2037
+ var _this18 = this;
2038
+ return {
2039
+ title: '',
2040
+ content: transI18n('fmt_uimanager_tips_Remove', {
2041
+ reason2: userName
2042
+ }),
2043
+ onOk: function onOk() {
2044
+ _this18._executeKickOut(userId, FcrUserKickedOutType.Once);
2045
+ },
2046
+ alignCenter: true,
2047
+ height: KICK_OUT_DIALOG_CONFIG.MAIN_ROOM.HEIGHT
2048
+ };
2049
+ }
2050
+
2051
+ /**
2052
+ * 创建等待房间踢出用户的对话框配置
2053
+ * @param userId 用户ID
2054
+ * @param userName 用户名
2055
+ * @returns 对话框配置对象
2056
+ */
2057
+ }, {
2058
+ key: "_createWaitingRoomKickOutDialogConfig",
2059
+ value: function _createWaitingRoomKickOutDialogConfig(userId, userName) {
2060
+ var _this19 = this;
2061
+ return {
2062
+ userId: userId,
2063
+ type: KICK_OUT_DIALOG_CONFIG.WAITING_ROOM.TYPE,
2064
+ title: transI18n('fmt_waitingroom_sidebar_popup_removeall'),
2065
+ tooltip: transI18n('fmt_waitingroom_sidebar_popup_label_remove', {
2066
+ reason1: userName
2067
+ }),
2068
+ onChecked: function onChecked(isChecked) {
2069
+ _this19._isChecked[KICK_OUT_DIALOG_CONFIG.WAITING_ROOM.TYPE] = isChecked;
2070
+ }
2071
+ };
2072
+ }
2073
+
2074
+ /**
2075
+ * 执行踢出用户操作
2076
+ * @param userId 用户ID
2077
+ * @param kickOutType 踢出类型
2078
+ */
2079
+ }, {
2080
+ key: "_executeKickOut",
2081
+ value: function _executeKickOut(userId, kickOutType) {
2082
+ try {
2083
+ this._userControl.kickOut(userId, kickOutType);
2084
+ this.logger.info('Successfully initiated kick out for user:', userId, 'type:', kickOutType);
2085
+ } catch (error) {
2086
+ this.logger.error('Failed to kick out user:', userId, 'error:', error);
2087
+ }
2088
+ }
2089
+ }, {
2090
+ key: "_onPeerSessionReceived",
2091
+ value: function _onPeerSessionReceived(session) {
2092
+ this.logger.info('participant store onPeerSessionReceived', {
2093
+ sessionId: session.sessionId
2094
+ });
2095
+
2096
+ // 检查是否已经处理过此会话
2097
+ if (this._isSessionAlreadyProcessed(session.sessionId)) {
2098
+ this.logger.info('Session already processed, skipping', {
2099
+ sessionId: session.sessionId
2100
+ });
2101
+ return;
2102
+ }
2103
+
2104
+ // 验证本地用户信息
2105
+ if (!this._validateLocalUser()) {
2106
+ this.logger.warn('Local user validation failed');
2107
+ return;
2108
+ }
2109
+
2110
+ // 标记会话为已处理
2111
+ this._processedUserOpenDeviceRequests.add(session.sessionId);
2112
+
2113
+ // 根据会话类型处理请求
2114
+ this._handleDeviceRequest(session);
2115
+ }
2116
+ }, {
2117
+ key: "_onPeerSessionAccepted",
2118
+ value: function _onPeerSessionAccepted(session) {
2119
+ this._updateSessionTimestamp(session);
2120
+ }
2121
+ }, {
2122
+ key: "_onPeerSessionRejected",
2123
+ value: function _onPeerSessionRejected(session) {
2124
+ this._updateSessionTimestamp(session);
2125
+ }
2126
+ }, {
2127
+ key: "_updateSessionTimestamp",
2128
+ value: function _updateSessionTimestamp(session) {
2129
+ var responderId = session.responderId,
2130
+ sessionKey = session.sessionKey;
2131
+ switch (sessionKey) {
2132
+ case FcrUISessionKey.REQUEST_OPEN_CAMERA:
2133
+ this._unmuteVideoTimestamp["delete"](responderId);
2134
+ break;
2135
+ case FcrUISessionKey.REQUEST_OPEN_MICROPHONE:
2136
+ this._unmuteAudioTimestamp["delete"](responderId);
2137
+ break;
2138
+ }
2139
+ }
2140
+
2141
+ /**
2142
+ * 设置等候室用户数量监听器
2143
+ * 当等候室用户数量为0时 tab自动切换回主房间
2144
+ */
2145
+ }, {
2146
+ key: "_setupWaitingRoomUserCountListener",
2147
+ value: function _setupWaitingRoomUserCountListener() {
2148
+ var _this20 = this;
2149
+ this._disposers.push(reaction(function () {
2150
+ return _this20.waitingRoomUserCount;
2151
+ }, function (userCount) {
2152
+ if (userCount === 0 && _this20.activeTab === FcrUIRoomType.WAITING_ROOM) {
2153
+ _this20.handleActiveTab(FcrUIRoomType.MAIN_ROOM);
2154
+ }
2155
+ }));
2156
+ }
2157
+
2158
+ /**
2159
+ * 检查会话是否已经被处理过
2160
+ * @param sessionId 会话ID
2161
+ * @returns 是否已处理
2162
+ */
2163
+ }, {
2164
+ key: "_isSessionAlreadyProcessed",
2165
+ value: function _isSessionAlreadyProcessed(sessionId) {
2166
+ return this._processedUserOpenDeviceRequests.has(sessionId);
2167
+ }
2168
+
2169
+ /**
2170
+ * 验证本地用户信息
2171
+ * @returns 验证是否通过
2172
+ */
2173
+ }, {
2174
+ key: "_validateLocalUser",
2175
+ value: function _validateLocalUser() {
2176
+ var localUserUid = this.localUser.userId;
2177
+ if (!localUserUid) {
2178
+ this.logger.warn('Local user ID not found');
2179
+ return false;
2180
+ }
2181
+ var localUserStream = this._streamControl.getStreamsByUserId(localUserUid).find(function (user) {
2182
+ return user.videoSourceType === FcrVideoSourceType.CAMERA;
2183
+ });
2184
+ if (!localUserStream) {
2185
+ this.logger.warn('Local user stream not found');
2186
+ return false;
2187
+ }
2188
+ return true;
2189
+ }
2190
+
2191
+ /**
2192
+ * 处理设备请求
2193
+ * @param session 对等会话
2194
+ */
2195
+ }, {
2196
+ key: "_handleDeviceRequest",
2197
+ value: function _handleDeviceRequest(session) {
2198
+ var sessionKey = session.sessionKey,
2199
+ payload = session.payload;
2200
+ var sender = payload.sender;
2201
+ switch (sessionKey) {
2202
+ case FcrUISessionKey.REQUEST_OPEN_CAMERA:
2203
+ this._handleCameraRequest(session, sender);
2204
+ break;
2205
+ case FcrUISessionKey.REQUEST_OPEN_MICROPHONE:
2206
+ this._handleMicrophoneRequest(session, sender);
2207
+ break;
2208
+ default:
2209
+ this.logger.warn('Unknown session key', {
2210
+ sessionKey: sessionKey
2211
+ });
2212
+ }
2213
+ }
2214
+
2215
+ /**
2216
+ * 处理摄像头开启请求
2217
+ * @param session 对等会话
2218
+ * @param sender 发送者信息
2219
+ */
2220
+ }, {
2221
+ key: "_handleCameraRequest",
2222
+ value: function _handleCameraRequest(session, sender) {
2223
+ var localUserHasVideo = this._deviceStore.cameraEnabled;
2224
+ this.logger.info('Handling camera request', {
2225
+ sessionId: session.sessionId,
2226
+ localUserHasVideo: localUserHasVideo
2227
+ });
2228
+
2229
+ // 如果本地用户已经开启摄像头,直接接受请求
2230
+ if (localUserHasVideo) {
2231
+ this._peerSessionControl.acceptPeerSession(session);
2232
+ return;
2233
+ }
2234
+
2235
+ // 显示确认对话框
2236
+ this._showCameraRequestDialog(session, sender);
2237
+ }
2238
+
2239
+ /**
2240
+ * 处理麦克风开启请求
2241
+ * @param session 对等会话
2242
+ * @param sender 发送者信息
2243
+ */
2244
+ }, {
2245
+ key: "_handleMicrophoneRequest",
2246
+ value: function _handleMicrophoneRequest(session, sender) {
2247
+ var localUserHasAudio = this._deviceStore.microphoneEnabled;
2248
+ this.logger.info('Handling microphone request', {
2249
+ sessionId: session.sessionId,
2250
+ localUserHasAudio: localUserHasAudio
2251
+ });
2252
+
2253
+ // 如果本地用户已经开启麦克风,直接接受请求
2254
+ if (localUserHasAudio) {
2255
+ this._peerSessionControl.acceptPeerSession(session);
2256
+ return;
2257
+ }
2258
+
2259
+ // 显示确认对话框
2260
+ this._showMicrophoneRequestDialog(session, sender);
2261
+ }
2262
+
2263
+ /**
2264
+ * 显示摄像头请求确认对话框
2265
+ * @param session 对等会话
2266
+ * @param sender 发送者信息
2267
+ */
2268
+ }, {
2269
+ key: "_showCameraRequestDialog",
2270
+ value: function _showCameraRequestDialog(session, sender) {
2271
+ var _this21 = this;
2272
+ this.openConfirmDialog({
2273
+ height: 166,
2274
+ title: transI18n('fmt_attendies_tips_apply_video_title', {
2275
+ reason1: transI18n(userRoleI18nKey[sender.userRole])
2276
+ }),
2277
+ content: transI18n('fmt_additional_tips_cameraturnon'),
2278
+ okText: transI18n('fmt_additional_button_accept'),
2279
+ cancelText: transI18n('fmt_additional_button_refuse'),
2280
+ closable: false,
2281
+ onOk: function onOk() {
2282
+ _this21._peerSessionControl.acceptPeerSession(session);
2283
+ _this21._deviceStreamStore.enableCameraWithPreCheck(true);
2284
+ },
2285
+ onCancel: function onCancel() {
2286
+ _this21._peerSessionControl.rejectPeerSession(session);
2287
+ }
2288
+ }, FcrUISessionKey.REQUEST_OPEN_CAMERA);
2289
+ }
2290
+
2291
+ /**
2292
+ * 显示麦克风请求确认对话框
2293
+ * @param session 对等会话
2294
+ * @param sender 发送者信息
2295
+ */
2296
+ }, {
2297
+ key: "_showMicrophoneRequestDialog",
2298
+ value: function _showMicrophoneRequestDialog(session, sender) {
2299
+ var _this22 = this;
2300
+ this.openConfirmDialog({
2301
+ title: transI18n('fmt_attendies_tips_apply_audio_title', {
2302
+ reason1: transI18n(userRoleI18nKey[sender.userRole])
2303
+ }),
2304
+ content: transI18n('fmt_additional_tips_agreeturnon'),
2305
+ okText: transI18n('fmt_device_label_audio_unmute'),
2306
+ cancelText: transI18n('fmt_additional_options_Keepsilent'),
2307
+ closable: false,
2308
+ onOk: function onOk() {
2309
+ _this22._processedUserOpenDeviceRequests["delete"](session.sessionId);
2310
+ _this22._peerSessionControl.acceptPeerSession(session);
2311
+ _this22._deviceStreamStore.enableMicrophoneWithPreCheck(true);
2312
+ },
2313
+ onCancel: function onCancel() {
2314
+ _this22._processedUserOpenDeviceRequests["delete"](session.sessionId);
2315
+ _this22._peerSessionControl.rejectPeerSession(session);
2316
+ },
2317
+ height: 166
2318
+ }, FcrUISessionKey.REQUEST_OPEN_MICROPHONE);
2319
+ }
2320
+ }, {
2321
+ key: "_handleEvent",
2322
+ value: function _handleEvent(event, payload) {
2323
+ switch (event) {
2324
+ case FcrUIAction.PARTICIPANT_ACTION:
2325
+ {
2326
+ var actionPayload = payload;
2327
+ this.handlerUserAction(actionPayload.action, actionPayload.userId);
2328
+ break;
2329
+ }
2330
+ case FcrUIAction.CHANGE_PARTICIPANT_TAB:
2331
+ this.handleActiveTab(payload);
2332
+ break;
2333
+ }
2334
+ }
2335
+ }]);
2336
+ }();
2337
+ _ParticipantStoreBase = ParticipantStoreBase;
2338
+ var _applyDecs$e = _slicedToArray(_applyDecs(_ParticipantStoreBase, [[observable, 1, "_isChecked"], [observable, 1, "_participantsWindowActive"], [observable, 1, "enableParticipantsJoinWithMute"], [observable, 1, "searchText"], [observable, 1, "currentModal"], [observable, 1, "mergeConfirmDialog"], [observable, 1, "mergeUserId"], [observable, 1, "activeTab"], [observable, 1, "interpreterInputLanguageList"], [observable, 1, "newName"], [observable, 1, "allowUnmute"], [observable, 1, "joinWithMuteAudio"], [observable, 1, "showBecomeHostButton"], [observable, 1, "_userCount"], [computed, 3, "audioVolumeMap"], [computed, 3, "userListSource"], [computed, 3, "spotlightStreamId"], [computed, 3, "mergeUserInfo"], [computed, 3, "userMap"], [computed, 3, "userCount"], [computed, 3, "pinedStreamIds"], [computed, 3, "hasPinnedStream"], [computed, 3, "userList"], [computed, 3, "localMicVolume"], [computed, 3, "hasRevokeHostPermission"], [computed, 3, "waitingRoomUserCount"], [computed, 3, "isNewWaitingRoomUserEnter"], [bound, 2, "hasMutePermission"], [bound, 2, "hasWaitingRoomPermission"], [bound, 2, "hasUnmutePermission"], [bound, 2, "hasRequestStartAudioPermission"], [_setCurrentModalDecs, 18, "setCurrentModal"], [bound, 2, "closeParticipantsAside"], [bound, 2, "closeDialog"], [_setParticipantsWindowActiveDecs, 18, "setParticipantsWindowActive"], [_handlerSearchUserDecs, 18, "handlerSearchUser"], [bound, 2, "onInvite"], [bound, 2, "setMergeConfirmDialog"], [bound, 2, "mergeConfirmDialogOk"], [_openRemoveAdmitWaitingRoomDialogDecs, 18, "openRemoveAdmitWaitingRoomDialog"], [_setAllowUnmuteDecs, 18, "setAllowUnmute"], [_setAllowJoinWithMuteAudioDecs, 18, "setAllowJoinWithMuteAudio"], [_openMuteAllDialogDecs, 18, "openMuteAllDialog"], [_handlerRoomControlActionDecs, 18, "handlerRoomControlAction"], [bound, 2, "moveParticipantFromDialogToAside"], [_moveToMainRoomByUserIdsDecs, 18, "moveToMainRoomByUserIds"], [_kickOutWaitingRoomAllMemberDecs, 18, "kickOutWaitingRoomAllMember"], [_moveToMainRoomAllMemberDecs, 18, "moveToMainRoomAllMember"], [_removeWaitingRoomUserDecs, 18, "removeWaitingRoomUser"], [bound, 2, "removePin"], [bound, 2, "addPin"], [bound, 2, "_getPinStreamIdFromUser"], [_handleUserCountUpdatedDecs, 18, "_handleUserCountUpdated"], [_handleConfirmChangeNameDecs, 18, "handleConfirmChangeName"], [_handleCancelChangeNameDecs, 18, "handleCancelChangeName"], [_closeChangeNameDialogDecs, 18, "_closeChangeNameDialog"], [_getOutputLanguageDecs, 18, "_getOutputLanguage"], [_handlerUserActionDecs, 18, "handlerUserAction"], [_handleActiveTabDecs, 18, "handleActiveTab"], [_moveToWaitingRoomByUserIdDecs, 18, "_moveToWaitingRoomByUserId"], [_kickOutUserDecs, 18, "_kickOutUser"], [_onPeerSessionReceivedDecs, 18, "_onPeerSessionReceived"], [bound, 2, "_onPeerSessionAccepted"], [bound, 2, "_onPeerSessionRejected"], [bound, 2, "_handleEvent"]], []).e, 15);
2339
+ _init__isChecked = _applyDecs$e[0];
2340
+ _init__participantsWindowActive = _applyDecs$e[1];
2341
+ _init_enableParticipantsJoinWithMute = _applyDecs$e[2];
2342
+ _init_searchText = _applyDecs$e[3];
2343
+ _init_currentModal = _applyDecs$e[4];
2344
+ _init_mergeConfirmDialog = _applyDecs$e[5];
2345
+ _init_mergeUserId = _applyDecs$e[6];
2346
+ _init_activeTab = _applyDecs$e[7];
2347
+ _init_interpreterInputLanguageList = _applyDecs$e[8];
2348
+ _init_newName = _applyDecs$e[9];
2349
+ _init_allowUnmute = _applyDecs$e[10];
2350
+ _init_joinWithMuteAudio = _applyDecs$e[11];
2351
+ _init_showBecomeHostButton = _applyDecs$e[12];
2352
+ _init__userCount = _applyDecs$e[13];
2353
+ _initProto = _applyDecs$e[14];
2354
+ export var StoreContext = /*#__PURE__*/createContext(null);