fcr-ui-scene 3.1.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. package/installer/icons/favicon.ico +0 -0
  2. package/installer/icons/favicon.png +0 -0
  3. package/installer/mac/entitlements.mac.plist +16 -0
  4. package/lib/base.d.ts +0 -1
  5. package/lib/base.js +16 -0
  6. package/lib/common/device-store.d.ts +4 -5
  7. package/lib/common/device-store.js +178 -86
  8. package/lib/common/device-stream-store.d.ts +3 -2
  9. package/lib/common/device-stream-store.js +94 -72
  10. package/lib/common/event-store.d.ts +20 -3
  11. package/lib/common/event-store.js +43 -5
  12. package/lib/common/security-store.d.ts +16 -16
  13. package/lib/common/security-store.js +278 -124
  14. package/lib/electron/app.js +13 -5
  15. package/lib/electron/bootstrap-dev.d.ts +1 -0
  16. package/lib/electron/bootstrap-dev.js +51 -0
  17. package/lib/electron/bootstrap-sdk.d.ts +1 -0
  18. package/lib/electron/bootstrap-sdk.js +56 -0
  19. package/lib/electron/bootstrap.d.ts +1 -0
  20. package/lib/electron/bootstrap.js +56 -0
  21. package/lib/electron/default-options.js +1 -1
  22. package/lib/electron/dev.d.ts +1 -0
  23. package/lib/electron/dev.js +51 -0
  24. package/lib/electron/injections.d.ts +3 -4
  25. package/lib/electron/injections.js +46 -33
  26. package/lib/electron/logger.d.ts +6 -0
  27. package/lib/electron/logger.js +66 -0
  28. package/lib/electron/main.js +15 -11
  29. package/lib/electron/plugins/meeting-state.d.ts +2 -0
  30. package/lib/electron/plugins/meeting-state.js +39 -0
  31. package/lib/electron/preload.js +2 -1
  32. package/lib/electron/tools.js +9 -0
  33. package/lib/electron/window.d.ts +1 -1
  34. package/lib/electron/window.js +14 -2
  35. package/lib/fragments/control-bar/context.d.ts +0 -1
  36. package/lib/fragments/control-bar/control-bar-store.d.ts +34 -1
  37. package/lib/fragments/control-bar/control-bar-store.js +394 -81
  38. package/lib/fragments/control-bar/device/index.js +12 -3
  39. package/lib/fragments/control-bar/index.css +15 -10
  40. package/lib/fragments/control-bar/index.js +19 -1
  41. package/lib/fragments/control-bar/meeting-details/meeting-detail.css +109 -0
  42. package/lib/fragments/control-bar/meeting-details/meeting-details-portal.d.ts +3 -0
  43. package/lib/fragments/control-bar/meeting-details/meeting-details-portal.js +60 -0
  44. package/lib/fragments/control-bar/meeting-details/meeting-details.d.ts +2 -0
  45. package/lib/fragments/control-bar/meeting-details/meeting-details.js +179 -0
  46. package/lib/fragments/control-bar/more-actions/index.css +53 -0
  47. package/lib/fragments/control-bar/more-actions/index.js +77 -37
  48. package/lib/fragments/control-bar/security-content/index.css +10 -0
  49. package/lib/fragments/control-bar/security-content/index.js +43 -18
  50. package/lib/fragments/control-bar/view.js +8 -2
  51. package/lib/fragments/live-streaming/context.d.ts +0 -1
  52. package/lib/fragments/live-streaming/store.js +27 -17
  53. package/lib/fragments/share-screen-selection/context.d.ts +0 -1
  54. package/lib/fragments/share-screen-selection/selection-store.d.ts +0 -1
  55. package/lib/fragments/share-screen-selection/selection-store.js +34 -33
  56. package/lib/fragments/share-screen-selection/view.js +7 -0
  57. package/lib/fragments/toolbar/components/color-picker/components/color.js +2 -0
  58. package/lib/fragments/toolbar/components/color-picker/components/panel.js +4 -0
  59. package/lib/fragments/toolbar/components/color-picker/components/picker.js +2 -0
  60. package/lib/fragments/toolbar/components/color-picker/index.js +5 -1
  61. package/lib/fragments/toolbar/components/color-picker.js +3 -1
  62. package/lib/fragments/toolbar/components/eraser-picker.js +4 -13
  63. package/lib/fragments/toolbar/components/extension-toolbar-item.js +5 -0
  64. package/lib/fragments/toolbar/components/extra-tool-picker.js +4 -0
  65. package/lib/fragments/toolbar/components/pen-picker.js +2 -0
  66. package/lib/fragments/toolbar/components/screen-capture-picker.js +2 -0
  67. package/lib/fragments/toolbar/components/shape-picker.js +2 -0
  68. package/lib/fragments/toolbar/hooks.d.ts +1 -1
  69. package/lib/fragments/toolbar/hooks.js +13 -8
  70. package/lib/fragments/toolbar/store.d.ts +4 -4
  71. package/lib/fragments/toolbar/store.js +20 -2
  72. package/lib/fragments/toolbar/view.js +2 -0
  73. package/lib/global.d.ts +1 -0
  74. package/lib/hooks/meeting-time.d.ts +2 -2
  75. package/lib/login-confirm-dialog.d.ts +12 -0
  76. package/lib/login-confirm-dialog.js +80 -0
  77. package/lib/modules/action-bar/action-bar-collapes-items.js +14 -5
  78. package/lib/modules/action-bar/chat/index.js +6 -6
  79. package/lib/modules/action-bar/context.d.ts +0 -1
  80. package/lib/modules/action-bar/device/index.css +7 -2
  81. package/lib/modules/action-bar/device/index.d.ts +2 -2
  82. package/lib/modules/action-bar/device/index.js +6 -4
  83. package/lib/modules/action-bar/index.css +63 -12
  84. package/lib/modules/action-bar/index.d.ts +3 -2
  85. package/lib/modules/action-bar/index.dev.js +8 -7
  86. package/lib/modules/action-bar/index.js +21 -0
  87. package/lib/modules/action-bar/item-placement.d.ts +1 -2
  88. package/lib/modules/action-bar/item.js +5 -0
  89. package/lib/modules/action-bar/leave/assign-host.d.ts +3 -1
  90. package/lib/modules/action-bar/leave/assign-host.js +7 -7
  91. package/lib/modules/action-bar/leave/index.js +35 -7
  92. package/lib/modules/action-bar/leave/leave-meeting.d.ts +11 -1
  93. package/lib/modules/action-bar/leave/leave-meeting.js +25 -16
  94. package/lib/modules/action-bar/more/poppover-content.d.ts +0 -1
  95. package/lib/modules/action-bar/more/poppover-content.js +14 -4
  96. package/lib/modules/action-bar/participants/index.css +12 -0
  97. package/lib/modules/action-bar/participants/index.js +21 -14
  98. package/lib/modules/action-bar/screen-share/index.js +5 -1
  99. package/lib/modules/action-bar/screen-share/submenu.js +17 -22
  100. package/lib/modules/action-bar/security/drop-menu.js +124 -14
  101. package/lib/modules/action-bar/security/index.js +1 -1
  102. package/lib/modules/action-bar/settings/index.js +1 -1
  103. package/lib/modules/action-bar/store.d.ts +45 -21
  104. package/lib/modules/action-bar/store.js +544 -134
  105. package/lib/modules/action-bar/view.js +65 -42
  106. package/lib/modules/audio-stream/index.js +12 -6
  107. package/lib/modules/chat/chat-bar/index.js +46 -27
  108. package/lib/modules/chat/chat-select/index.css +19 -4
  109. package/lib/modules/chat/chat-select/index.d.ts +0 -1
  110. package/lib/modules/chat/chat-select/index.js +29 -3
  111. package/lib/modules/chat/chat.d.ts +2 -3
  112. package/lib/modules/chat/chat.js +210 -107
  113. package/lib/modules/chat/contex.d.ts +0 -1
  114. package/lib/modules/chat/demo-wrapper.d.ts +0 -1
  115. package/lib/modules/chat/index.css +49 -0
  116. package/lib/modules/chat/index.d.ts +3 -3
  117. package/lib/modules/chat/index.dev.js +4 -4
  118. package/lib/modules/chat/index.js +32 -11
  119. package/lib/modules/chat/message-list.js +81 -49
  120. package/lib/modules/chat/store.d.ts +50 -4
  121. package/lib/modules/chat/store.js +303 -124
  122. package/lib/modules/chat/util.js +1 -1
  123. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -0
  124. package/lib/modules/connection-gateway/components/phone/index.js +2 -0
  125. package/lib/modules/connection-gateway/index.d.ts +3 -2
  126. package/lib/modules/connection-gateway/index.js +2 -0
  127. package/lib/modules/connection-gateway/store.d.ts +6 -4
  128. package/lib/modules/connection-gateway/store.js +46 -15
  129. package/lib/modules/device-pretest/audio-preview/microphone-detection.d.ts +1 -0
  130. package/lib/modules/device-pretest/audio-preview/microphone-detection.js +3 -2
  131. package/lib/modules/device-pretest/audio-preview/speaker-control.d.ts +0 -1
  132. package/lib/modules/device-pretest/audio-preview/speaker-control.js +1 -1
  133. package/lib/modules/device-pretest/context.d.ts +0 -1
  134. package/lib/modules/device-pretest/index.css +0 -4
  135. package/lib/modules/device-pretest/index.d.ts +0 -1
  136. package/lib/modules/device-pretest/index.js +2 -1
  137. package/lib/modules/device-pretest/settings/beauty.js +19 -6
  138. package/lib/modules/device-pretest/settings/video-effect.d.ts +0 -1
  139. package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -0
  140. package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -0
  141. package/lib/modules/device-pretest/store.js +34 -19
  142. package/lib/modules/dialog/components/chat/electron.js +3 -2
  143. package/lib/modules/dialog/components/chat/index.js +1 -1
  144. package/lib/modules/dialog/components/confirm/electron.js +7 -5
  145. package/lib/modules/dialog/components/confirm/index.js +16 -2
  146. package/lib/modules/dialog/components/connection-gateway/electron.js +4 -2
  147. package/lib/modules/dialog/components/connection-gateway/index.css +0 -2
  148. package/lib/modules/dialog/components/device-setting/electron.d.ts +2 -0
  149. package/lib/modules/dialog/components/device-setting/electron.js +74 -0
  150. package/lib/modules/dialog/components/device-setting/index.css +26 -0
  151. package/lib/modules/dialog/components/device-setting/index.d.ts +4 -0
  152. package/lib/modules/dialog/components/device-setting/index.js +60 -0
  153. package/lib/modules/dialog/components/operation-waiting-room/electron.d.ts +5 -0
  154. package/lib/modules/dialog/components/operation-waiting-room/electron.js +89 -0
  155. package/lib/modules/dialog/components/operation-waiting-room/index.css +44 -0
  156. package/lib/modules/dialog/components/operation-waiting-room/index.d.ts +5 -0
  157. package/lib/modules/dialog/components/operation-waiting-room/index.js +156 -0
  158. package/lib/modules/dialog/components/participant/electron.js +8 -2
  159. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.d.ts +5 -0
  160. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +89 -0
  161. package/lib/modules/dialog/components/remove-admit-waiting-room/index.css +50 -0
  162. package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +5 -0
  163. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +90 -0
  164. package/lib/modules/dialog/components/share-screen-selection/index.js +1 -1
  165. package/lib/modules/dialog/components/whiteboard/index.js +2 -1
  166. package/lib/modules/dialog/context.d.ts +0 -1
  167. package/lib/modules/dialog/dialogs.d.ts +0 -2
  168. package/lib/modules/dialog/dialogs.js +62 -103
  169. package/lib/modules/dialog/index.css +7 -6
  170. package/lib/modules/dialog/index.d.ts +1 -1
  171. package/lib/modules/dialog/index.js +17 -0
  172. package/lib/modules/dialog/store.d.ts +6 -2
  173. package/lib/modules/dialog/store.js +52 -9
  174. package/lib/modules/dialog/view.js +2 -0
  175. package/lib/modules/event-notification/context.d.ts +2 -0
  176. package/lib/modules/event-notification/context.js +9 -0
  177. package/lib/modules/event-notification/index.css +58 -0
  178. package/lib/modules/event-notification/index.d.ts +13 -0
  179. package/lib/modules/event-notification/index.js +48 -0
  180. package/lib/modules/event-notification/store.d.ts +17 -0
  181. package/lib/modules/event-notification/store.js +133 -0
  182. package/lib/modules/event-notification/view.d.ts +5 -0
  183. package/lib/modules/event-notification/view.js +114 -0
  184. package/lib/modules/event-toast/context.d.ts +0 -1
  185. package/lib/modules/event-toast/store.js +16 -0
  186. package/lib/modules/invite/context.d.ts +0 -1
  187. package/lib/modules/invite/index.css +4 -4
  188. package/lib/modules/invite/index.d.ts +2 -2
  189. package/lib/modules/invite/pstn-invite.js +4 -1
  190. package/lib/modules/invite/store.d.ts +2 -2
  191. package/lib/modules/invite/store.js +27 -7
  192. package/lib/modules/invite/voip-invite.d.ts +0 -1
  193. package/lib/modules/invite/voip-invite.js +1 -1
  194. package/lib/modules/layout/components/Aside.d.ts +0 -1
  195. package/lib/modules/layout/components/Aside.js +4 -1
  196. package/lib/modules/layout/components/Carousel.js +6 -5
  197. package/lib/modules/layout/components/Gallery.js +16 -9
  198. package/lib/modules/layout/components/Layout.js +82 -57
  199. package/lib/modules/layout/components/index.css +42 -5
  200. package/lib/modules/layout/components/index.js +3 -0
  201. package/lib/modules/layout/context.d.ts +0 -1
  202. package/lib/modules/layout/index.css +30 -0
  203. package/lib/modules/layout/index.dev.js +11 -11
  204. package/lib/modules/layout/index.js +0 -6
  205. package/lib/modules/layout/member-window/index.css +5 -5
  206. package/lib/modules/layout/member-window/index.d.ts +7 -7
  207. package/lib/modules/layout/member-window/index.js +59 -13
  208. package/lib/modules/layout/store.d.ts +61 -50
  209. package/lib/modules/layout/store.js +517 -342
  210. package/lib/modules/layout/type.d.ts +2 -1
  211. package/lib/modules/layout/video-window-datasource.d.ts +14 -8
  212. package/lib/modules/layout/video-window-datasource.js +129 -78
  213. package/lib/modules/live-streaming/context.d.ts +0 -1
  214. package/lib/modules/live-streaming/index.d.ts +2 -2
  215. package/lib/modules/live-streaming/index.dev.js +5 -4
  216. package/lib/modules/live-streaming/store.d.ts +2 -2
  217. package/lib/modules/live-streaming/store.js +32 -11
  218. package/lib/modules/participant/attendee/index.d.ts +12 -3
  219. package/lib/modules/participant/attendee/index.js +142 -30
  220. package/lib/modules/participant/context.d.ts +0 -1
  221. package/lib/modules/participant/index.css +20 -0
  222. package/lib/modules/participant/index.d.ts +5 -2
  223. package/lib/modules/participant/index.dev.js +14 -12
  224. package/lib/modules/participant/index.js +27 -0
  225. package/lib/modules/participant/member-list-data-source.d.ts +3 -3
  226. package/lib/modules/participant/member-list-data-source.js +29 -3
  227. package/lib/modules/participant/room-control-drop-menu/index.css +37 -0
  228. package/lib/modules/participant/room-control-drop-menu/index.js +35 -1
  229. package/lib/modules/participant/store.d.ts +59 -34
  230. package/lib/modules/participant/store.js +541 -222
  231. package/lib/modules/participant/view.d.ts +6 -6
  232. package/lib/modules/participant/view.js +138 -34
  233. package/lib/modules/setting/audio-settings/audio-settings.js +16 -12
  234. package/lib/modules/setting/audio-settings/index.css +2 -2
  235. package/lib/modules/setting/context.d.ts +0 -1
  236. package/lib/modules/setting/general-settings/general-settings.js +2 -1
  237. package/lib/modules/setting/general-settings/index.css +2 -2
  238. package/lib/modules/setting/index.css +1 -5
  239. package/lib/modules/setting/index.d.ts +2 -2
  240. package/lib/modules/setting/index.dev.js +14 -12
  241. package/lib/modules/setting/index.js +16 -0
  242. package/lib/modules/setting/minutes-settings/index.css +65 -0
  243. package/lib/modules/setting/minutes-settings/minutes-settings.d.ts +4 -0
  244. package/lib/modules/setting/minutes-settings/minutes-settings.js +159 -0
  245. package/lib/modules/setting/state/index.css +0 -4
  246. package/lib/modules/setting/state/index.js +11 -1
  247. package/lib/modules/setting/storage-settings/storage-settings.js +1 -1
  248. package/lib/modules/setting/store.d.ts +7 -5
  249. package/lib/modules/setting/store.js +69 -46
  250. package/lib/modules/setting/translate-settings/index.css +45 -0
  251. package/lib/modules/setting/translate-settings/language-select.d.ts +12 -0
  252. package/lib/modules/setting/translate-settings/language-select.js +50 -0
  253. package/lib/modules/setting/translate-settings/translate-settings.d.ts +4 -0
  254. package/lib/modules/setting/translate-settings/translate-settings.js +139 -0
  255. package/lib/modules/setting/video-settings/index.css +15 -6
  256. package/lib/modules/setting/video-settings/video-settings-basic.js +3 -2
  257. package/lib/modules/setting/video-settings/video-settings.js +5 -1
  258. package/lib/modules/setting/view.js +34 -2
  259. package/lib/modules/share-screen/index.d.ts +4 -2
  260. package/lib/modules/share-screen/index.dev.js +17 -14
  261. package/lib/modules/share-screen/index.js +2 -0
  262. package/lib/modules/share-screen/selection/index.css +2 -0
  263. package/lib/modules/share-screen/selection/index.js +44 -6
  264. package/lib/modules/share-screen/share-state-bar/index.css +49 -11
  265. package/lib/modules/share-screen/share-state-bar/index.d.ts +0 -1
  266. package/lib/modules/share-screen/share-state-bar/index.js +51 -20
  267. package/lib/modules/share-screen/store.d.ts +23 -13
  268. package/lib/modules/share-screen/store.js +733 -606
  269. package/lib/modules/state-bar/context.d.ts +0 -1
  270. package/lib/modules/state-bar/index.css +2 -2
  271. package/lib/modules/state-bar/index.d.ts +2 -2
  272. package/lib/modules/state-bar/index.dev.js +12 -10
  273. package/lib/modules/state-bar/layout-config.js +2 -0
  274. package/lib/modules/state-bar/live-streaming-state.js +3 -0
  275. package/lib/modules/state-bar/meeting-detail.css +6 -4
  276. package/lib/modules/state-bar/meeting-details.js +29 -3
  277. package/lib/modules/state-bar/meeting-network-state.css +14 -3
  278. package/lib/modules/state-bar/meeting-network-state.js +10 -4
  279. package/lib/modules/state-bar/recording.js +9 -11
  280. package/lib/modules/state-bar/store.d.ts +7 -5
  281. package/lib/modules/state-bar/store.js +68 -8
  282. package/lib/modules/state-bar/view.js +4 -8
  283. package/lib/modules/video-window/context.d.ts +0 -1
  284. package/lib/modules/video-window/deviceState/index.d.ts +3 -3
  285. package/lib/modules/video-window/index.css +1 -0
  286. package/lib/modules/video-window/members/index.js +7 -4
  287. package/lib/modules/video-window/store.d.ts +5 -4
  288. package/lib/modules/video-window/store.js +49 -17
  289. package/lib/modules/video-window/topControl/index.js +7 -0
  290. package/lib/modules/video-window/view.js +2 -0
  291. package/lib/modules/waiting-room-layout/context.d.ts +2 -0
  292. package/lib/modules/waiting-room-layout/context.js +9 -0
  293. package/lib/modules/waiting-room-layout/index.css +71 -0
  294. package/lib/modules/waiting-room-layout/index.d.ts +8 -0
  295. package/lib/modules/waiting-room-layout/index.js +47 -0
  296. package/lib/modules/waiting-room-layout/store.d.ts +30 -0
  297. package/lib/modules/waiting-room-layout/store.js +189 -0
  298. package/lib/modules/waiting-room-layout/type.d.ts +0 -0
  299. package/lib/modules/waiting-room-layout/type.js +1 -0
  300. package/lib/modules/waiting-room-layout/view.d.ts +3 -0
  301. package/lib/modules/waiting-room-layout/view.js +67 -0
  302. package/lib/modules/whiteboard/app.js +2 -8
  303. package/lib/modules/whiteboard/components/control-bar/index.css +3 -0
  304. package/lib/modules/whiteboard/components/control-bar/store.d.ts +0 -1
  305. package/lib/modules/whiteboard/components/control-bar/store.js +29 -29
  306. package/lib/modules/whiteboard/components/loading/index.js +2 -2
  307. package/lib/modules/whiteboard/components/multi-window/index.js +8 -3
  308. package/lib/modules/whiteboard/components/pagination/store.d.ts +0 -1
  309. package/lib/modules/whiteboard/components/progress/electron.js +3 -2
  310. package/lib/modules/whiteboard/components/progress/style.css +4 -3
  311. package/lib/modules/whiteboard/components/switch-theme/index.css +4 -0
  312. package/lib/modules/whiteboard/components/switch-theme/index.d.ts +2 -1
  313. package/lib/modules/whiteboard/components/switch-theme/index.js +29 -17
  314. package/lib/modules/whiteboard/components/switch-theme/item.d.ts +1 -0
  315. package/lib/modules/whiteboard/components/switch-theme/item.js +11 -2
  316. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +2 -1
  317. package/lib/modules/whiteboard/components/switch-theme/libs.js +21 -20
  318. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -0
  319. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +3 -1
  320. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +11 -9
  321. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +4 -0
  322. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +5 -0
  323. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -0
  324. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +18 -12
  325. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +3 -3
  326. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +16 -11
  327. package/lib/modules/whiteboard/components/toolbar/index.js +9 -0
  328. package/lib/modules/whiteboard/components/toolbar/store.d.ts +8 -7
  329. package/lib/modules/whiteboard/components/toolbar/store.js +25 -4
  330. package/lib/modules/whiteboard/context.d.ts +7 -3
  331. package/lib/modules/whiteboard/context.js +6 -4
  332. package/lib/modules/whiteboard/index.d.ts +6 -8
  333. package/lib/modules/whiteboard/index.js +310 -255
  334. package/lib/modules/whiteboard/type.d.ts +4 -12
  335. package/lib/modules/whiteboard/type.js +6 -16
  336. package/lib/modules/whiteboard/utils.d.ts +1 -0
  337. package/lib/modules/whiteboard/utils.js +12 -1
  338. package/lib/plugins/browser-runtime-plugin.js +2 -1
  339. package/lib/plugins/module-dev-plugin.js +12 -10
  340. package/lib/plugins/multi-lang-plugin.d.ts +1 -5
  341. package/lib/plugins/multi-lang-plugin.js +2 -0
  342. package/lib/runtime.d.ts +3 -5
  343. package/lib/translations/enUS.d.ts +590 -0
  344. package/lib/translations/enUS.js +608 -6
  345. package/lib/translations/zhCN.d.ts +588 -0
  346. package/lib/translations/zhCN.js +604 -4
  347. package/lib/type.d.ts +6 -2
  348. package/lib/ui-manager.d.ts +7 -3
  349. package/lib/ui-manager.js +597 -143
  350. package/lib/ui-scene.d.ts +1 -0
  351. package/lib/ui-scene.js +32 -22
  352. package/lib/utilities/board-context.d.ts +0 -1
  353. package/lib/utilities/constant.d.ts +47 -5
  354. package/lib/utilities/constant.js +44 -1
  355. package/lib/utilities/copyText.js +1 -1
  356. package/lib/utilities/extract.js +26 -3
  357. package/lib/utilities/hooks.js +2 -0
  358. package/lib/utilities/parameters.js +2 -2
  359. package/lib/utilities/renderer-event.js +28 -0
  360. package/lib/utilities/renderer.d.ts +1 -0
  361. package/lib/utilities/renderer.js +15 -6
  362. package/lib/utilities/tools.js +5 -2
  363. package/lib/utilities/ui-resources.d.ts +2 -2
  364. package/lib/utilities/ui-resources.js +20 -3
  365. package/lib/utilities/video-track-render-context.d.ts +0 -1
  366. package/package.json +17 -16
  367. package/public/assets/fcr_defaultpage.png +0 -0
  368. package/public/assets/login_confirm.png +0 -0
  369. package/public/index.html +29 -11
  370. package/lib/modules/device-pretest/settings/index.css +0 -15
  371. package/lib/modules/participant/attendee/participants-more-action.d.ts +0 -18
  372. package/lib/modules/participant/attendee/participants-more-action.js +0 -275
@@ -18,6 +18,15 @@ require("core-js/modules/es.function.name.js");
18
18
  require("core-js/modules/es.object.to-string.js");
19
19
  require("core-js/modules/es.string.includes.js");
20
20
  require("core-js/modules/es.string.iterator.js");
21
+ require("core-js/modules/esnext.async-iterator.filter.js");
22
+ require("core-js/modules/esnext.async-iterator.find.js");
23
+ require("core-js/modules/esnext.async-iterator.map.js");
24
+ require("core-js/modules/esnext.async-iterator.reduce.js");
25
+ require("core-js/modules/esnext.iterator.constructor.js");
26
+ require("core-js/modules/esnext.iterator.filter.js");
27
+ require("core-js/modules/esnext.iterator.find.js");
28
+ require("core-js/modules/esnext.iterator.map.js");
29
+ require("core-js/modules/esnext.iterator.reduce.js");
21
30
  require("core-js/modules/web.dom-collections.iterator.js");
22
31
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
23
32
  var _debounce = _interopRequireDefault(require("lodash/debounce"));
@@ -60,13 +69,13 @@ var midActionOrderMap = exports.midActionOrderMap = [/*#__PURE__*/(0, _jsxRuntim
60
69
  // <Board id="Whiteboard" key="Whiteboard" order={6} />,
61
70
  // <BreakoutRoom id="BreakoutRoom" key="BreakoutRoom" order={7} />,
62
71
  // <Respond id="Respond" key="Respond" order={8} />,
63
- (0, _jsxRuntime.jsx)(_settings.Settings, {
64
- id: "Settings",
65
- order: 9
66
- }, "Settings"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_liveStreaming.LiveStreaming, {
72
+ (0, _jsxRuntime.jsx)(_liveStreaming.LiveStreaming, {
67
73
  id: "LiveStreaming",
74
+ order: 9
75
+ }, "LiveStreaming"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_settings.Settings, {
76
+ id: "Settings",
68
77
  order: 10
69
- }, "LiveStreaming"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_more.More, {
78
+ }, "Settings"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_more.More, {
70
79
  id: "More",
71
80
  order: 11
72
81
  }, "More")];
@@ -17,8 +17,8 @@ var _i18n = require("agora-ui-foundation/lib/i18n");
17
17
  var _avatar = require("agora-ui-foundation/lib/components/avatar");
18
18
  var _context = require("../context");
19
19
  var _fcr_chat_reddot = _interopRequireDefault(require("../../../../public/assets/fcr_chat_reddot.svg"));
20
- var _type2 = require("agora-edu-core/lib/type");
21
20
  var _mobxReact = require("mobx-react");
21
+ var _type2 = require("agora-edu-core/lib/room-control/chatroom-control/type");
22
22
  var _jsxRuntime = require("react/jsx-runtime");
23
23
  var Chat = exports.Chat = (0, _mobxReact.observer)(function (_ref) {
24
24
  var id = _ref.id,
@@ -28,10 +28,10 @@ var Chat = exports.Chat = (0, _mobxReact.observer)(function (_ref) {
28
28
  var tooltip = transI18n('fmt_screenshare_controlbar_button_more_chat');
29
29
  var _useContext = (0, _react.useContext)(_context.ActionBarContext),
30
30
  toggleChat = _useContext.toggleChat,
31
- newMessageCount = _useContext.newMessageCount,
32
31
  latestMessage = _useContext.latestMessage,
33
32
  newMessageTooltipVisible = _useContext.newMessageTooltipVisible,
34
- hideNewMessageTooltip = _useContext.hideNewMessageTooltip;
33
+ hideNewMessageTooltip = _useContext.hideNewMessageTooltip,
34
+ allNewMessage = _useContext.allNewMessage;
35
35
  var _useState = (0, _react.useState)(false),
36
36
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
37
37
  tooltipVisible = _useState2[0],
@@ -50,11 +50,11 @@ var Chat = exports.Chat = (0, _mobxReact.observer)(function (_ref) {
50
50
  }, [newMessageTooltipVisible]);
51
51
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
52
52
  className: "fcr-action-bar-chat-wrapper",
53
- children: [newMessageCount > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
53
+ children: [allNewMessage > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
54
54
  className: "fcr-action-bar-chat-unread-count",
55
- children: newMessageCount > 99 ? /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
55
+ children: allNewMessage > 99 ? /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
56
56
  src: _fcr_chat_reddot["default"]
57
- }) : newMessageCount
57
+ }) : allNewMessage
58
58
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
59
59
  overlayClassName: "fcr-chatroom-tooltip",
60
60
  overlayInnerStyle: {
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import ActionBarStore from './store';
3
2
  export declare const ActionBarContext: import("react").Context<ActionBarStore>;
@@ -1,7 +1,7 @@
1
1
  .fcr-action-bar-device {
2
2
  border-radius: var(--fcr_cornerradius_s);
3
3
  position: relative;
4
- width: 71px;
4
+ min-width: 71px;
5
5
  cursor: pointer;
6
6
  }
7
7
  .fcr-action-bar-device:hover {
@@ -25,7 +25,7 @@
25
25
  stop-color: var(--fcr_web_ui_scene_mainicon1);
26
26
  }
27
27
  .fcr-action-bar-device-text {
28
- color: var(--fcr_ui_scene_icontext1);
28
+ color: var(--fcr_ui_scene_icontext2);
29
29
  line-height: 12px;
30
30
  font-size: 12px;
31
31
  text-align: center;
@@ -155,3 +155,8 @@
155
155
  white-space: nowrap;
156
156
  text-overflow: ellipsis;
157
157
  }
158
+
159
+ .fcr-device-popover-content-more-item--danger:hover {
160
+ color: var(--fcr_ui_scene_ramp_red6);
161
+ background: var(--fcr_ui_scene_ramp_red1);
162
+ }
@@ -1,8 +1,8 @@
1
1
  import { FC } from 'react';
2
2
  import './index.css';
3
3
  export declare const AudioRecordinDeviceIcon: ({ size, micEnabled }: {
4
- size?: number | undefined;
5
- micEnabled?: boolean | undefined;
4
+ size?: number;
5
+ micEnabled?: boolean;
6
6
  }) => import("react/jsx-runtime").JSX.Element;
7
7
  export declare const MicrophoneDevice: FC;
8
8
  export declare const CameraDevice: FC;
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.MicrophoneDevice = exports.CameraDevice = exports.AudioRecordinDeviceIcon = void 0;
9
9
  require("core-js/modules/es.array.map.js");
10
+ require("core-js/modules/esnext.async-iterator.map.js");
11
+ require("core-js/modules/esnext.iterator.map.js");
10
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
13
  var _react = require("react");
12
14
  require("./index.css");
@@ -50,11 +52,9 @@ var MicrophoneDevice = exports.MicrophoneDevice = (0, _mobxReact.observer)(funct
50
52
  microphoneEnabled = _useContext2.microphoneEnabled,
51
53
  enableMicrophone = _useContext2.enableMicrophone,
52
54
  toggleLayoutBarLock = _useContext2.toggleLayoutBarLock,
53
- toggleConnection = _useContext2.toggleConnection,
54
55
  openConnection = _useContext2.openConnection,
55
56
  connectType = _useContext2.connectType,
56
57
  microphoneList = _useContext2.microphoneList,
57
- microphoneVolumeLevel = _useContext2.microphoneVolumeLevel,
58
58
  phoneMicEnabled = _useContext2.phoneMicEnabled;
59
59
  var _useDeviceTooltipVisi = useDeviceTooltipVisible(toggleLayoutBarLock),
60
60
  tooltipVisible = _useDeviceTooltipVisi.tooltipVisible,
@@ -391,7 +391,8 @@ var AudioDeviceListPopoverContent = (0, _mobxReact.observer)(function (_ref3) {
391
391
  speakerList = _useContext5.speakerList,
392
392
  openConnection = _useContext5.openConnection,
393
393
  connectType = _useContext5.connectType,
394
- closeConnection = _useContext5.closeConnection;
394
+ closeConnection = _useContext5.closeConnection,
395
+ closeSpeaker = _useContext5.closeSpeaker;
395
396
  var microphoneOptions = microphoneList.map(function (device) {
396
397
  return {
397
398
  text: device.deviceName,
@@ -478,10 +479,11 @@ var AudioDeviceListPopoverContent = (0, _mobxReact.observer)(function (_ref3) {
478
479
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
479
480
  className: "fcr-device-popover-content-more",
480
481
  children: [connectType === _type2.ConnectType.COMPUTER && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
481
- className: "fcr-device-popover-content-more-item",
482
+ className: "fcr-device-popover-content-more-item fcr-device-popover-content-more-item--danger",
482
483
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
483
484
  onClick: function onClick() {
484
485
  setMicrophoneId('');
486
+ closeSpeaker();
485
487
  closeConnection();
486
488
  },
487
489
  children: transI18n('fmt_device_label_audio_list_leaveComputerAudio')
@@ -1,6 +1,7 @@
1
1
  html {
2
2
  --fcr-action-bar-height: 58px;
3
3
  }
4
+
4
5
  .fcr-action-bar {
5
6
  background: var(--fcr_web_ui_scene_fill2);
6
7
  width: 100%;
@@ -14,6 +15,7 @@ html {
14
15
  border-top-style: solid;
15
16
  z-index: 3;
16
17
  }
18
+
17
19
  .fcr-action-bar-hide {
18
20
  transform: translateY(var(--fcr-action-bar-height));
19
21
  }
@@ -25,9 +27,11 @@ html {
25
27
  flex-direction: row;
26
28
  align-items: center;
27
29
  }
30
+
28
31
  .fcr-action-bar-right {
29
32
  padding-right: 12px;
30
33
  }
34
+
31
35
  .fcr-action-bar-mid {
32
36
  flex: 1;
33
37
  flex-shrink: 1;
@@ -35,6 +39,7 @@ html {
35
39
  padding: 0 10px;
36
40
  justify-content: center;
37
41
  }
42
+
38
43
  .fcr-action-bar-collapse {
39
44
  display: flex;
40
45
  flex-flow: row nowrap;
@@ -42,6 +47,7 @@ html {
42
47
  overflow: hidden;
43
48
  flex: 1;
44
49
  }
50
+
45
51
  .fcr-action-bar-item-wrapper {
46
52
  background: transparent;
47
53
  width: fit-content;
@@ -55,9 +61,11 @@ html {
55
61
  flex-shrink: 0;
56
62
  position: relative;
57
63
  }
64
+
58
65
  .fcr-action-bar-extra {
59
66
  cursor: pointer;
60
67
  }
68
+
61
69
  @media screen and (max-width: 430px) {
62
70
  .fcr-action-bar-item-wrapper {
63
71
  min-width: 55px;
@@ -68,11 +76,16 @@ html {
68
76
  outline: 0;
69
77
  }
70
78
 
71
- .fcr-action-bar-item:hover,
79
+ .fcr-action-bar-item-wrapper:hover .fcr-action-bar-item {
80
+ background: var(--fcr_web_ui_scene_hover2);
81
+ border-radius: var(--fcr_cornerradius_s);
82
+ }
83
+
72
84
  .fcr-action-bar-item-active {
73
85
  background: var(--fcr_web_ui_scene_hover2);
74
86
  border-radius: var(--fcr_cornerradius_s);
75
87
  }
88
+
76
89
  .fcr-action-bar-item {
77
90
  flex: 1;
78
91
  display: inline-flex;
@@ -81,33 +94,41 @@ html {
81
94
  max-width: 100%;
82
95
  height: 100%;
83
96
  }
97
+
84
98
  .fcr-icon-green path,
85
99
  .fcr-icon-green-when-hover:hover path {
86
100
  fill: var(--fcr_ui_scene_ramp_green6);
87
101
  }
102
+
88
103
  .fcr-icon-blue path {
89
104
  fill: var(--fcr_ui_scene_ramp_brand6);
90
105
  }
106
+
91
107
  .fcr-checkbox-overlay-style svg path {
92
108
  fill: var(--fcr_ui_scene_icontext1);
93
109
  transition: all 0.1s ease;
94
110
  }
111
+
95
112
  .fcr-checkbox-overlay-style .fcr-checkbox-inner {
96
113
  width: 14px;
97
114
  height: 14px;
98
115
  background: transparent;
99
116
  }
117
+
100
118
  .fcr-checkbox-overlay-style .fcr-checkbox-inner svg {
101
119
  width: 14px;
102
120
  height: 14px;
103
121
  }
122
+
104
123
  .fcr-action-bar-item-disabled {
105
124
  cursor: not-allowed;
106
125
  }
126
+
107
127
  .fcr-action-bar-item-disabled .fcr-action-bar-item-icon,
108
128
  .fcr-action-bar-item-disabled .fcr-action-bar-item-text {
109
129
  opacity: 0.5;
110
130
  }
131
+
111
132
  .fcr-action-bar-item-text {
112
133
  color: var(--fcr_ui_scene_icontext2);
113
134
  font-weight: 400;
@@ -115,9 +136,11 @@ html {
115
136
  line-height: 12px;
116
137
  padding: 0 8px;
117
138
  }
139
+
118
140
  .fcr-action-bar-item-text span {
119
141
  white-space: nowrap;
120
142
  }
143
+
121
144
  .fcr-action-bar-cancel-leave {
122
145
  margin-right: 15px;
123
146
  margin-left: auto;
@@ -128,16 +151,39 @@ html {
128
151
  display: flex;
129
152
  align-items: center;
130
153
  }
154
+
131
155
  .fcr-action-bar--popover .fcr-drop-menu {
132
156
  text-align: left;
133
157
  }
158
+
134
159
  .fcr-action-bar--popover .fcr-checkbox-input-wrapper {
135
160
  border-color: transparent;
136
161
  }
162
+
137
163
  .fcr-action-bar--popover .fcr-tooltip-inner {
138
164
  border: none;
139
165
  box-shadow: var(--fcr_web_light_dropup_m) !important;
140
166
  }
167
+ .fcr-screen-share--popover .fcr-button > p {
168
+ max-width: 140px;
169
+ overflow: hidden;
170
+ white-space: nowrap;
171
+ text-overflow: ellipsis;
172
+ }
173
+
174
+ .fcr-action-bar--fold-wrap {
175
+ width: 100%;
176
+ display: flex;
177
+ /* position: absolute;
178
+ inset: auto auto 0px 0px; */
179
+ }
180
+
181
+ .fcr-action-bar--fold-btn {
182
+ width: 70px;
183
+ height: 22px;
184
+ margin-left: 50%;
185
+ }
186
+
141
187
  .fcr-action-bar--fold {
142
188
  width: 70px;
143
189
  height: 22px;
@@ -148,26 +194,21 @@ html {
148
194
  border-top-right-radius: 8px;
149
195
  border: 1px solid var(--fcr_ui_scene_line1);
150
196
  border-bottom: none;
151
- position: absolute;
152
- left: 50%;
153
- top: -21px;
154
- transform: translateX(-50%);
155
- background: #fff;
197
+ background-color: #fff;
156
198
  cursor: pointer;
157
199
  }
200
+
158
201
  .fcr-action-bar--fold-hotarea {
159
- width: 120px;
160
- height: 30px;
202
+ width: 100%;
203
+ height: 22px;
161
204
  display: flex;
162
- position: absolute;
163
- left: 50%;
164
- top: -30px;
165
- transform: translateX(-50%);
166
205
  }
206
+
167
207
  .fcr-action-bar--fold svg {
168
208
  width: 30px;
169
209
  height: 30px;
170
210
  }
211
+
171
212
  .fcr-action-bar--unfold {
172
213
  width: 52px;
173
214
  height: 50px;
@@ -176,18 +217,23 @@ html {
176
217
  justify-content: center;
177
218
  cursor: pointer;
178
219
  }
220
+
179
221
  .fcr-action-bar--unfold svg {
180
222
  transform: rotate(90deg);
181
223
  width: 40px;
182
224
  height: 40px;
183
225
  }
226
+
184
227
  .fcr-action-bar-fold-style {
185
228
  width: 110px;
186
229
  height: 50px;
187
230
  position: absolute;
188
231
  right: 15px;
189
232
  bottom: 15px;
233
+ border: none;
234
+ background-color: transparent;
190
235
  }
236
+
191
237
  .fcr-action-bar-smaller {
192
238
  width: 110px;
193
239
  height: 50px;
@@ -200,6 +246,7 @@ html {
200
246
  z-index: 1000;
201
247
  display: flex;
202
248
  }
249
+
203
250
  .fcr-action-bar-smaller-micphone {
204
251
  width: 58px;
205
252
  height: 50px;
@@ -210,3 +257,7 @@ html {
210
257
  box-shadow: var(--fcr_web_light_dropup_m);
211
258
  border-radius: var(--fcr_cornerradius_s);
212
259
  }
260
+
261
+ .security-drop-menu-checkbox .fcr-checkbox-label {
262
+ color: inherit;
263
+ }
@@ -1,12 +1,13 @@
1
1
  import { UIModule } from '../../base';
2
2
  import './index.css';
3
- import { FcrDesktopMediaControl, FcrMainRoomControl, FcrStreamControl, FcrUserControl } from 'agora-edu-core';
3
+ import { FcrDesktopMediaControl, FcrStreamControl, FcrUserControl } from 'agora-edu-core';
4
4
  import { FcrUIEventStore } from '../../common/event-store';
5
5
  import { FcrDeviceStore } from '../../common/device-store';
6
6
  import { FcrSecurityStore } from '../../common/security-store';
7
7
  import { FcrDeviceStreamStore } from '../../common/device-stream-store';
8
+ import { FcrMainRoomControl, FcrWaitingRoomControl } from 'agora-edu-core/lib/room-control/type';
8
9
  interface FcrActionBarUIModuleArgs {
9
- roomControl: FcrMainRoomControl;
10
+ roomControl: FcrMainRoomControl | FcrWaitingRoomControl;
10
11
  userControl: FcrUserControl;
11
12
  uiEventStore: FcrUIEventStore;
12
13
  deviceStore: FcrDeviceStore;
@@ -17,7 +17,7 @@ var _jsxRuntime = require("react/jsx-runtime");
17
17
  var App = (0, _root.hot)(function () {
18
18
  return null;
19
19
  });
20
- _reactDom["default"].render( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {}), document.querySelector('#root'));
20
+ _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(App, {}), document.querySelector('#root'));
21
21
  var Layout = function Layout(props) {
22
22
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
23
23
  style: {
@@ -35,7 +35,7 @@ var Layout = function Layout(props) {
35
35
  })
36
36
  });
37
37
  };
38
- window.__DEV_ENGINE_IS_READY__.then( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
38
+ window.__DEV_ENGINE_IS_READY__.then(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
39
39
  var engine, roomId, roomControl, userRole, userName, userControl, uiEventStore, securityStore, deviceStore, deviceStreamStore, uiModule, App;
40
40
  return _regenerator["default"].wrap(function _callee$(_context) {
41
41
  while (1) switch (_context.prev = _context.next) {
@@ -45,13 +45,14 @@ window.__DEV_ENGINE_IS_READY__.then( /*#__PURE__*/(0, _asyncToGenerator2["defaul
45
45
  _context.next = 4;
46
46
  return engine.login();
47
47
  case 4:
48
- roomControl = engine.createRoomControl(roomId);
48
+ roomControl = engine.createMainRoomControl(roomId);
49
49
  userRole = _type.FcrUserRole.HOST;
50
50
  userName = 'host-user';
51
51
  _context.next = 9;
52
52
  return roomControl.join({
53
53
  userRole: userRole,
54
54
  userName: userName,
55
+ roomToken: window.__DEV_USER_TOKEN__,
55
56
  streamLatency: _type.FcrStreamLatencyLevel.ULTRA_LOW,
56
57
  createStreamConfigs: []
57
58
  });
@@ -59,9 +60,9 @@ window.__DEV_ENGINE_IS_READY__.then( /*#__PURE__*/(0, _asyncToGenerator2["defaul
59
60
  userControl = roomControl.getUserControl();
60
61
  uiEventStore = new _eventStore.FcrUIEventStore();
61
62
  securityStore = new _securityStore.FcrSecurityStore(roomControl.getPrivilegeControl(), roomControl.getUserControl(), roomControl.getStreamControl(), roomControl.getRoomSessionControl(), uiEventStore);
62
- deviceStore = new _deviceStore.FcrDeviceStore(userName, engine.getMediaControl());
63
+ deviceStore = new _deviceStore.FcrDeviceStore(userName, engine.getDesktopMediaControl());
63
64
  deviceStreamStore = new _deviceStreamStore.FcrDeviceStreamStore({
64
- mediaControl: engine.getMediaControl(),
65
+ mediaControl: engine.getDesktopMediaControl(),
65
66
  roomControl: roomControl,
66
67
  securityStore: securityStore,
67
68
  deviceStore: deviceStore,
@@ -74,7 +75,7 @@ window.__DEV_ENGINE_IS_READY__.then( /*#__PURE__*/(0, _asyncToGenerator2["defaul
74
75
  deviceStore: deviceStore,
75
76
  deviceStreamStore: deviceStreamStore,
76
77
  uiEventStore: uiEventStore,
77
- mediaControl: engine.getMediaControl(),
78
+ mediaControl: engine.getDesktopMediaControl(),
78
79
  streamControl: roomControl.getStreamControl()
79
80
  });
80
81
  App = (0, _root.hot)(function () {
@@ -85,7 +86,7 @@ window.__DEV_ENGINE_IS_READY__.then( /*#__PURE__*/(0, _asyncToGenerator2["defaul
85
86
  });
86
87
  return uiModule === null || uiModule === void 0 ? void 0 : uiModule.getComponent();
87
88
  });
88
- _reactDom["default"].render( /*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, {
89
+ _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(Layout, {
89
90
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {})
90
91
  }), document.querySelector('#root'));
91
92
  case 17:
@@ -79,6 +79,27 @@ var FcrActionBarUIModule = exports.FcrActionBarUIModule = /*#__PURE__*/function
79
79
  activeTab: _store2.DeviceSettingTab.AUDIO
80
80
  });
81
81
  }
82
+ if (event.action === _constant.RendererEventAction.LEAVE_ROOM) {
83
+ this._store.leave();
84
+ }
85
+ if (event.action === _constant.RendererEventAction.KEEP_PHONE_AUDIO_CONNECTION) {
86
+ this._store.keepPhoneAudioConnection();
87
+ }
88
+ if (event.action === _constant.RendererEventAction.END_ROOM) {
89
+ this._store.end();
90
+ }
91
+ if (event.action === _constant.RendererEventAction.REISSUE_CONTROLBAR_INFO) {
92
+ this._store.fetchNewestLeavingRoomCompProps();
93
+ }
94
+ if (event.action === _constant.RendererEventAction.ASSIGN_HOST) {
95
+ this._store.assignHost(event.payload);
96
+ }
97
+ if (event.action === _constant.RendererEventAction.CALL_CLOSE_MAIN_WINDOW) {
98
+ this._store.setPopoverOpened(true);
99
+ }
100
+ if (event.action === _constant.RendererEventAction.FRAGMENT_SET_ENABLE_WAITING_ROOM) {
101
+ this._store.setEnableWaitingRoom(event.payload.allow, true);
102
+ }
82
103
  }
83
104
  }, {
84
105
  key: "onUnload",
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
1
  type ActionBarItemPlacementProps = {
3
2
  placement: 'left' | 'mid' | 'right';
4
3
  };
5
4
  export declare const ActionBarItemPlacement: import("react").ForwardRefExoticComponent<ActionBarItemPlacementProps & {
6
- children?: import("react").ReactNode;
5
+ children?: import("react").ReactNode | undefined;
7
6
  } & import("react").RefAttributes<HTMLDivElement>>;
8
7
  export {};
@@ -10,6 +10,11 @@ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
10
  require("core-js/modules/es.object.get-own-property-descriptors.js");
11
11
  require("core-js/modules/es.object.keys.js");
12
12
  require("core-js/modules/es.object.to-string.js");
13
+ require("core-js/modules/esnext.async-iterator.filter.js");
14
+ require("core-js/modules/esnext.async-iterator.for-each.js");
15
+ require("core-js/modules/esnext.iterator.constructor.js");
16
+ require("core-js/modules/esnext.iterator.filter.js");
17
+ require("core-js/modules/esnext.iterator.for-each.js");
13
18
  require("core-js/modules/web.dom-collections.for-each.js");
14
19
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
15
20
  Object.defineProperty(exports, "__esModule", {
@@ -1,6 +1,8 @@
1
- /// <reference types="react" />
2
1
  import './index.css';
2
+ import { FcrUserInfo } from 'agora-edu-core/lib/type';
3
3
  interface AssignHostProps {
4
+ remoteUsers: FcrUserInfo[];
5
+ assignHost: (user: FcrUserInfo) => void;
4
6
  setPopoverOpened: React.Dispatch<React.SetStateAction<boolean>>;
5
7
  handleKeepConnect: () => void;
6
8
  }
@@ -13,19 +13,19 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
13
13
  var _mobxReact = require("mobx-react");
14
14
  var _react = require("react");
15
15
  require("./index.css");
16
- var _context2 = require("../context");
17
16
  var _chatSelect = require("../../chat/chat-select");
17
+ var _i18n = require("agora-ui-foundation/lib/i18n");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  var AssignHost = exports.AssignHost = (0, _mobxReact.observer)(function (props) {
20
- var _useContext = (0, _react.useContext)(_context2.ActionBarContext),
21
- remoteUsers = _useContext.remoteUsers,
22
- assignHost = _useContext.assignHost;
20
+ var remoteUsers = props.remoteUsers,
21
+ assignHost = props.assignHost;
23
22
  var _useState = (0, _react.useState)(0),
24
23
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
25
24
  selected = _useState2[0],
26
25
  setSelected = _useState2[1];
26
+ var t = (0, _i18n.useI18n)();
27
27
  var handleLeave = /*#__PURE__*/function () {
28
- var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
28
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
29
29
  var user;
30
30
  return _regenerator["default"].wrap(function _callee$(_context) {
31
31
  while (1) switch (_context.prev = _context.next) {
@@ -48,12 +48,12 @@ var AssignHost = exports.AssignHost = (0, _mobxReact.observer)(function (props)
48
48
  type: "assign-host",
49
49
  title: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
50
50
  className: "assign-host-title",
51
- children: "Assign a New Host"
51
+ children: t('fmt_toolbar_button_assignnewhost')
52
52
  }),
53
53
  bottomBar: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
54
54
  className: "assign-host-bottom",
55
55
  onClick: handleLeave,
56
- children: "Assign and Leave"
56
+ children: t('fmt_toolbar_button_assignleave')
57
57
  }),
58
58
  candidateUsers: remoteUsers,
59
59
  selectedUid: remoteUsers[selected].userId,
@@ -10,6 +10,11 @@ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
10
  require("core-js/modules/es.object.get-own-property-descriptors.js");
11
11
  require("core-js/modules/es.object.keys.js");
12
12
  require("core-js/modules/es.object.to-string.js");
13
+ require("core-js/modules/esnext.async-iterator.filter.js");
14
+ require("core-js/modules/esnext.async-iterator.for-each.js");
15
+ require("core-js/modules/esnext.iterator.constructor.js");
16
+ require("core-js/modules/esnext.iterator.filter.js");
17
+ require("core-js/modules/esnext.iterator.for-each.js");
13
18
  require("core-js/modules/web.dom-collections.for-each.js");
14
19
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
15
20
  Object.defineProperty(exports, "__esModule", {
@@ -36,15 +41,23 @@ var End = exports.End = (0, _mobxReact.observer)(function (props) {
36
41
  var transI18n = (0, _i18n.useI18n)();
37
42
  var _useContext = (0, _react.useContext)(_context.ActionBarContext),
38
43
  localUserRole = _useContext.localUserRole,
39
- toggleLayoutBarLock = _useContext.toggleLayoutBarLock;
44
+ toggleLayoutBarLock = _useContext.toggleLayoutBarLock,
45
+ remoteUsers = _useContext.remoteUsers,
46
+ end = _useContext.end,
47
+ leave = _useContext.leave,
48
+ isLocked = _useContext.isLocked,
49
+ hasAssignHostBeforeLeavingPermission = _useContext.hasAssignHostBeforeLeavingPermission,
50
+ hasEndRoomPermission = _useContext.hasEndRoomPermission,
51
+ keepPhoneAudioConnection = _useContext.keepPhoneAudioConnection,
52
+ isPstnUser = _useContext.isPstnUser,
53
+ assignHost = _useContext.assignHost,
54
+ popoverOpened = _useContext.popoverOpened,
55
+ _setPopoverOpened = _useContext.setPopoverOpened;
40
56
  var _useState = (0, _react.useState)(false),
41
57
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
42
58
  tooltipOpened = _useState2[0],
43
59
  setTooltipOpened = _useState2[1];
44
- var _useState3 = (0, _react.useState)(false),
45
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
46
- popoverOpened = _useState4[0],
47
- _setPopoverOpened = _useState4[1];
60
+ // const [popoverOpened, setPopoverOpened] = useState(false);
48
61
  var popOverRef = (0, _react.useRef)(false);
49
62
  var onTooltipChanged = function onTooltipChanged(v) {
50
63
  if (!popoverOpened) {
@@ -79,6 +92,11 @@ var End = exports.End = (0, _mobxReact.observer)(function (props) {
79
92
  window.removeEventListener('resize', reflow);
80
93
  };
81
94
  }, []);
95
+ (0, _react.useEffect)(function () {
96
+ if (popoverOpened) {
97
+ onPopoverChanged(popoverOpened);
98
+ }
99
+ }, [popoverOpened]);
82
100
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
83
101
  visible: tooltipOpened,
84
102
  onVisibleChange: onTooltipChanged,
@@ -97,13 +115,23 @@ var End = exports.End = (0, _mobxReact.observer)(function (props) {
97
115
  setPopoverOpened: function setPopoverOpened(value) {
98
116
  _setPopoverOpened(value);
99
117
  onPopoverChanged(false);
100
- }
118
+ },
119
+ localUserRole: localUserRole,
120
+ leave: leave,
121
+ isLocked: isLocked,
122
+ hasAssignHostBeforeLeavingPermission: hasAssignHostBeforeLeavingPermission,
123
+ hasEndRoomPermission: hasEndRoomPermission,
124
+ keepPhoneAudioConnection: keepPhoneAudioConnection,
125
+ isPstnUser: isPstnUser,
126
+ remoteUsers: remoteUsers,
127
+ end: end,
128
+ assignHost: assignHost
101
129
  }),
102
130
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, _objectSpread(_objectSpread({
103
131
  shape: "rounded",
104
132
  size: "XS"
105
133
  }, buttonProps), {}, {
106
- children: popoverOpened ? 'Cancel' : localUserRole === _type.FcrUserRole.HOST ? transI18n('fmt_toolbar_button_end') : transI18n('fmt_toolbar_button_leave')
134
+ children: popoverOpened ? transI18n('fmt_toolbar_button_cancel') : localUserRole === _type.FcrUserRole.HOST ? transI18n('fmt_toolbar_button_end') : transI18n('fmt_toolbar_button_leave')
107
135
  }))
108
136
  })
109
137
  });