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
@@ -1,7 +1,17 @@
1
- /// <reference types="react" />
2
1
  import './index.css';
2
+ import { FcrUserInfo, FcrUserRole } from 'agora-edu-core/lib/type';
3
3
  interface LeaveMeetingProps {
4
4
  setPopoverOpened: React.Dispatch<React.SetStateAction<boolean>>;
5
+ end: () => void;
6
+ leave: () => void;
7
+ isLocked: boolean;
8
+ keepPhoneAudioConnection: () => void;
9
+ localUserRole: FcrUserRole;
10
+ remoteUsers: FcrUserInfo[];
11
+ hasAssignHostBeforeLeavingPermission: boolean;
12
+ hasEndRoomPermission: boolean;
13
+ isPstnUser: boolean;
14
+ assignHost: (user: FcrUserInfo) => void;
5
15
  }
6
16
  export declare const LeaveMeeting: (props: LeaveMeetingProps) => import("react/jsx-runtime").JSX.Element;
7
17
  export {};
@@ -12,23 +12,22 @@ require("./index.css");
12
12
  var _type = require("agora-edu-core/lib/type");
13
13
  var _react = require("react");
14
14
  var _i18n = require("agora-ui-foundation/lib/i18n");
15
- var _context = require("../context");
16
15
  var _mobxReact = require("mobx-react");
17
16
  var _checkbox = require("agora-ui-foundation/lib/components/checkbox");
18
17
  var _classnames = _interopRequireDefault(require("classnames"));
19
18
  var _jsxRuntime = require("react/jsx-runtime");
20
19
  var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (props) {
21
20
  var t = (0, _i18n.useI18n)();
22
- var _useContext = (0, _react.useContext)(_context.ActionBarContext),
23
- localUserRole = _useContext.localUserRole,
24
- remoteUsers = _useContext.remoteUsers,
25
- end = _useContext.end,
26
- leave = _useContext.leave,
27
- isLocked = _useContext.isLocked,
28
- hasAssignHostBeforeLeavingPermission = _useContext.hasAssignHostBeforeLeavingPermission,
29
- hasEndRoomPermission = _useContext.hasEndRoomPermission,
30
- keepPhoneAudioConnection = _useContext.keepPhoneAudioConnection,
31
- isPstnUser = _useContext.isPstnUser;
21
+ var localUserRole = props.localUserRole,
22
+ remoteUsers = props.remoteUsers,
23
+ end = props.end,
24
+ leave = props.leave,
25
+ isLocked = props.isLocked,
26
+ hasAssignHostBeforeLeavingPermission = props.hasAssignHostBeforeLeavingPermission,
27
+ hasEndRoomPermission = props.hasEndRoomPermission,
28
+ keepPhoneAudioConnection = props.keepPhoneAudioConnection,
29
+ isPstnUser = props.isPstnUser,
30
+ assignHost = props.assignHost;
32
31
  var _useState = (0, _react.useState)(false),
33
32
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
34
33
  canAssign = _useState2[0],
@@ -45,9 +44,9 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
45
44
  if (remoteUsers.length > 0 && hasAssignHostBeforeLeavingPermission) {
46
45
  setCanAssign(true);
47
46
  } else {
48
- props.setPopoverOpened(false);
49
- leave();
50
47
  handleKeepConnect();
48
+ leave();
49
+ props.setPopoverOpened(false);
51
50
  }
52
51
  };
53
52
  var handleKeepConnect = function handleKeepConnect() {
@@ -57,19 +56,25 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
57
56
  };
58
57
  var handleConfirm = function handleConfirm() {
59
58
  props.setPopoverOpened(false);
60
- leave();
61
59
  if (keepConnect && isPstnUser) {
62
60
  keepPhoneAudioConnection();
63
61
  }
62
+ leave();
64
63
  };
65
64
  var handleCancel = function handleCancel() {
66
65
  props.setPopoverOpened(false);
67
66
  };
68
67
  if (localUserRole === _type.FcrUserRole.HOST) {
69
68
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
69
+ onMouseEnter: function onMouseEnter() {
70
+ var _window$runtime;
71
+ (_window$runtime = window.runtime) === null || _window$runtime === void 0 || (_window$runtime = _window$runtime.browserWindow) === null || _window$runtime === void 0 || _window$runtime.setIgnoreMouseEvents(false);
72
+ },
70
73
  children: canAssign ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_assignHost.AssignHost, {
71
74
  setPopoverOpened: props.setPopoverOpened,
72
- handleKeepConnect: handleKeepConnect
75
+ handleKeepConnect: handleKeepConnect,
76
+ remoteUsers: remoteUsers,
77
+ assignHost: assignHost
73
78
  }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
74
79
  className: "leave-container",
75
80
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -101,7 +106,11 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
101
106
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
102
107
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
103
108
  className: "leave-container",
104
- children: [isLocked() ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
109
+ onMouseEnter: function onMouseEnter() {
110
+ var _window$runtime2;
111
+ (_window$runtime2 = window.runtime) === null || _window$runtime2 === void 0 || (_window$runtime2 = _window$runtime2.browserWindow) === null || _window$runtime2 === void 0 || _window$runtime2.setIgnoreMouseEvents(false);
112
+ },
113
+ children: [isLocked ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
105
114
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
106
115
  className: "assistant-leave-lock-info",
107
116
  children: t('fmt_actionbar_tips_locked')
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.css';
3
2
  interface MenuItemProps {
4
3
  setVisible: React.Dispatch<React.SetStateAction<boolean>>;
@@ -7,6 +7,10 @@ require("core-js/modules/es.object.define-properties.js");
7
7
  require("core-js/modules/es.object.define-property.js");
8
8
  require("core-js/modules/es.object.get-own-property-descriptor.js");
9
9
  require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/esnext.async-iterator.filter.js");
11
+ require("core-js/modules/esnext.async-iterator.for-each.js");
12
+ require("core-js/modules/esnext.iterator.filter.js");
13
+ require("core-js/modules/esnext.iterator.for-each.js");
10
14
  require("core-js/modules/web.dom-collections.for-each.js");
11
15
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
12
16
  Object.defineProperty(exports, "__esModule", {
@@ -21,6 +25,12 @@ require("core-js/modules/es.array.sort.js");
21
25
  require("core-js/modules/es.number.constructor.js");
22
26
  require("core-js/modules/es.object.keys.js");
23
27
  require("core-js/modules/es.object.to-string.js");
28
+ require("core-js/modules/esnext.array.group.js");
29
+ require("core-js/modules/esnext.async-iterator.map.js");
30
+ require("core-js/modules/esnext.async-iterator.reduce.js");
31
+ require("core-js/modules/esnext.iterator.constructor.js");
32
+ require("core-js/modules/esnext.iterator.map.js");
33
+ require("core-js/modules/esnext.iterator.reduce.js");
24
34
  var _mobxReact = require("mobx-react");
25
35
  var _react = require("react");
26
36
  var _type = require("agora-edu-core/lib/type");
@@ -93,7 +103,7 @@ var ScreenShare = (0, _mobxReact.observer)(function (props) {
93
103
  var Chat = (0, _mobxReact.observer)(function (props) {
94
104
  var _useContext4 = (0, _react.useContext)(_context.ActionBarContext),
95
105
  toggleChat = _useContext4.toggleChat,
96
- newMessageCount = _useContext4.newMessageCount;
106
+ allNewMessage = _useContext4.allNewMessage;
97
107
  var onClick = function onClick() {
98
108
  props.setVisible(false);
99
109
  toggleChat();
@@ -107,12 +117,12 @@ var Chat = (0, _mobxReact.observer)(function (props) {
107
117
  size: 24
108
118
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
109
119
  children: transI18n('fmt_chat_label_chat')
110
- }), newMessageCount > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
120
+ }), allNewMessage > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
111
121
  className: "fcr-more-popover-content_chat_msg_count",
112
- children: newMessageCount > 99 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
122
+ children: allNewMessage > 99 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
113
123
  type: _type2.FcrIconType.FCR_CHAT_REDDOT,
114
124
  size: 14
115
- }) : newMessageCount
125
+ }) : allNewMessage
116
126
  })]
117
127
  });
118
128
  });
@@ -1,5 +1,6 @@
1
1
  .fcr-action-bar-participants-wrapper {
2
2
  position: relative;
3
+ cursor: pointer;
3
4
  }
4
5
  .fcr-action-bar-participants-user-count {
5
6
  position: absolute;
@@ -7,3 +8,14 @@
7
8
  left: 51px;
8
9
  color: var(--fcr_web_ui_scene_mainicon1);
9
10
  }
11
+ .fcr-action-bar-participants-icon {
12
+ position: relative;
13
+ }
14
+ .fcr-action-bar-participants-red {
15
+ width: 8px;
16
+ height: 8px;
17
+ border-radius: 50%;
18
+ background: var(--fcr_ui_scene_ramp_red6);
19
+ position: absolute;
20
+ right: 0;
21
+ }
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.Participants = void 0;
9
+ require("core-js/modules/es.array.concat.js");
9
10
  require("core-js/modules/es.array.includes.js");
10
11
  require("core-js/modules/es.string.includes.js");
11
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -14,6 +15,7 @@ var _i18n = require("agora-ui-foundation/lib/i18n");
14
15
  var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
15
16
  var _item = require("../item");
16
17
  var _type = require("agora-ui-foundation/lib/components/icon/type");
18
+ var _icon = require("agora-ui-foundation/lib/components/icon");
17
19
  var _context = require("../context");
18
20
  var _mobxReact = require("mobx-react");
19
21
  require("./index.css");
@@ -27,7 +29,8 @@ var Participants = exports.Participants = (0, _mobxReact.observer)(function (_re
27
29
  visibleList = _useContext.visibleList;
28
30
  var _useContext2 = (0, _react.useContext)(_context.ActionBarContext),
29
31
  toggleParticipants = _useContext2.toggleParticipants,
30
- totalUser = _useContext2.totalUser;
32
+ totalUser = _useContext2.totalUser,
33
+ isNewWaitingRoomUserEnter = _useContext2.isNewWaitingRoomUserEnter;
31
34
  var _useState = (0, _react.useState)(false),
32
35
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
33
36
  tooltipVisible = _useState2[0],
@@ -48,28 +51,32 @@ var Participants = exports.Participants = (0, _mobxReact.observer)(function (_re
48
51
  }
49
52
  },
50
53
  content: tooltip,
51
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
54
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
55
+ onClick: toggleParticipants,
52
56
  className: "fcr-action-bar-participants-wrapper",
53
57
  style: {
54
58
  display: visibleList.includes('Participants') ? 'flex' : 'none'
55
59
  },
56
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
57
- className: "fcr-action-bar-participants-user-count",
58
- children: totalUser > 999 ? '999+' : totalUser
59
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.ActionBarItem, {
60
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.ActionBarItem, {
60
61
  id: id,
61
62
  order: order,
62
- onClick: toggleParticipants,
63
- icon: _type.FcrIconType.FCR_PEOPLE,
63
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
64
+ className: "fcr-action-bar-participants-icon",
65
+ children: [isNewWaitingRoomUserEnter ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
66
+ className: "fcr-action-bar-participants-red"
67
+ }) : false, /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
68
+ type: _type.FcrIconType.FCR_PEOPLE,
69
+ size: 32,
70
+ colors: {
71
+ iconPrimary: 'var(--fcr_web_ui_scene_mainicon1)'
72
+ }
73
+ })]
74
+ }),
64
75
  iconColors: {
65
76
  iconPrimary: 'var(--fcr_web_ui_scene_mainicon1)'
66
77
  },
67
- title: title,
68
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
69
- className: "fcr-action-bar-participants-user-count",
70
- children: totalUser > 999 ? '999+' : totalUser
71
- })
72
- })]
78
+ title: "".concat(title, "(").concat(totalUser > 999 ? '999+' : totalUser, ")")
79
+ })
73
80
  })
74
81
  });
75
82
  });
@@ -39,6 +39,10 @@ var ScreenShare = exports.ScreenShare = (0, _mobxReact.observer)(function (_ref)
39
39
  var transI18n = (0, _i18n.useI18n)();
40
40
  var title = transI18n('fmt_screenshare_label_screenshare');
41
41
  var tooltip = hasStartScreenSharePermission ? transI18n('fmt_screenshare_label_screenshare') : transI18n('fmt_actionbar_screenshare_tips_restrictshare');
42
+ (0, _react.useEffect)(function () {
43
+ setMenuVisible(false);
44
+ setTooltipVisible(false);
45
+ }, [hasStartScreenSharePermission]);
42
46
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
43
47
  mouseEnterDelay: 0,
44
48
  onVisibleChange: function onVisibleChange() {
@@ -71,7 +75,7 @@ var ScreenShare = exports.ScreenShare = (0, _mobxReact.observer)(function (_ref)
71
75
  }
72
76
  } : undefined
73
77
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
74
- overlayClassName: "fcr-action-bar--popover",
78
+ overlayClassName: "fcr-action-bar--popover fcr-screen-share--popover",
75
79
  visible: visibleMenu,
76
80
  onVisibleChange: setMenuVisible,
77
81
  trigger: "click",
@@ -21,6 +21,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
21
21
  var _button = require("agora-ui-foundation/lib/components/button");
22
22
  var _i18n = require("agora-ui-foundation/lib/i18n");
23
23
  var _mobxReact = require("mobx-react");
24
+ var _truncate = _interopRequireDefault(require("lodash/truncate"));
24
25
  var _jsxRuntime = require("react/jsx-runtime");
25
26
  var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
26
27
  var _useContext = (0, _react.useContext)(_context.ActionBarContext),
@@ -35,10 +36,11 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
35
36
  isScreenShareAndBoardEnabled = _useContext.isScreenShareAndBoardEnabled,
36
37
  startScreenShare = _useContext.startScreenShare,
37
38
  hasScreenShare = _useContext.hasScreenShare,
38
- hasCloseWriteBoardPermission = _useContext.hasCloseWriteBoardPermission;
39
+ hasCloseWriteBoardPermission = _useContext.hasCloseWriteBoardPermission,
40
+ hasAllowWriteBoardPermission = _useContext.hasAllowWriteBoardPermission;
39
41
  var t = (0, _i18n.useI18n)();
40
42
  var hasHostPermission = [_agoraEduCore.FcrUserRole.HOST, _agoraEduCore.FcrUserRole.COHOST].includes(localUserRole);
41
- var hasBoardControlPermission = boardOwnerUser && localUser.userId !== boardOwnerUser.userId && hasCloseWriteBoardPermission;
43
+ var hasBoardControlPermission = boardOwnerUser && localUser.userId !== boardOwnerUser.userId && hasCloseWriteBoardPermission && hasAllowWriteBoardPermission;
42
44
  // 需求变更,联席主持人也可以禁用主持人的白板,注释掉联席主持人不能禁用的逻辑
43
45
  // (FcrUserRole.HOST === localUserRole ||
44
46
  // (FcrUserRole.COHOST === localUserRole && FcrUserRole.HOST !== boardOwnerUser?.userRole));
@@ -49,13 +51,7 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
49
51
  key: 'allow_attendee_title',
50
52
  type: 'title'
51
53
  }, {
52
- icon: boardOwnerUser && hasHostPermission ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
53
- type: _type.FcrIconType.FCR_WHITEBOARD,
54
- size: 24,
55
- colors: {
56
- iconPrimary: '#FB584E'
57
- }
58
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
54
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
59
55
  type: _type.FcrIconType.FCR_SCREENSHARING,
60
56
  size: 24,
61
57
  colors: {
@@ -70,16 +66,10 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
70
66
  // ? setAllowScreenShare(FcrWhiteboardState.OFF)
71
67
  // : startScreenShare();
72
68
  startScreenShare();
73
- },
74
- classNames: 'fcr-icon-green'
69
+ }
70
+ // classNames: 'fcr-icon-green',
75
71
  }, {
76
- icon: boardOwnerUser && hasHostPermission ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
77
- type: _type.FcrIconType.FCR_WHITEBOARD,
78
- size: 24,
79
- colors: {
80
- iconPrimary: '#FB584E'
81
- }
82
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
72
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
83
73
  type: _type.FcrIconType.FCR_WHITEBOARD,
84
74
  size: 24,
85
75
  colors: {
@@ -89,14 +79,15 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
89
79
  disabled: boardOwnerUser && (boardOwnerUser === null || boardOwnerUser === void 0 ? void 0 : boardOwnerUser.userId) !== localUser.userId,
90
80
  title: !boardOwnerUser ? t('fmt_screenshare_button_sharewhiteboard') : (boardOwnerUser === null || boardOwnerUser === void 0 ? void 0 : boardOwnerUser.userId) === localUser.userId ? t('fmt_screenshare_button_chosewhiteboard') : t('fmt_screenshare_options_alreadyopend'),
91
81
  key: 'allow_attendee_title',
82
+ type: boardOwnerUser && (boardOwnerUser === null || boardOwnerUser === void 0 ? void 0 : boardOwnerUser.userId) === localUser.userId ? 'danger' : 'primary',
92
83
  onButtonClick: function onButtonClick() {
93
84
  if ((boardOwnerUser === null || boardOwnerUser === void 0 ? void 0 : boardOwnerUser.userId) === localUser.userId) {
94
85
  closeWhiteboard();
95
86
  } else {
96
87
  openWhiteboard();
97
88
  }
98
- },
99
- classNames: 'fcr-icon-blue'
89
+ }
90
+ // classNames: 'fcr-icon-blue',
100
91
  }];
101
92
  var menusElectronOnly = [];
102
93
  var hostMenus = [{
@@ -106,7 +97,7 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
106
97
  }, {
107
98
  title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
108
99
  checked: isScreenShareAndBoardEnabled,
109
- label: t('fmt_screenshare_controlbar_security_list_participant_screenshare'),
100
+ label: t('fmt_screenshare_screen_and_board'),
110
101
  styleType: "white"
111
102
  }),
112
103
  key: 'enable_sharescreen',
@@ -132,9 +123,13 @@ var SubMenu = exports.SubMenu = (0, _mobxReact.observer)(function () {
132
123
  title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
133
124
  size: "XS",
134
125
  styleType: "danger",
126
+ shape: "rounded",
135
127
  block: true,
136
128
  children: t('fmt_screenshare_button_disableshare', {
137
- reason1: boardOwnerUser ? boardOwnerUser.userName : t('fmt_actionbar_screenshare_labels_others')
129
+ reason1: boardOwnerUser ? (0, _truncate["default"])(boardOwnerUser.userName, {
130
+ length: 8,
131
+ separator: ' '
132
+ }) : t('fmt_actionbar_screenshare_labels_others')
138
133
  })
139
134
  }),
140
135
  key: 'enable_whiteboard',
@@ -1,18 +1,43 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.for-each.js");
5
+ require("core-js/modules/es.object.define-properties.js");
3
6
  require("core-js/modules/es.object.define-property.js");
7
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
8
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
9
+ require("core-js/modules/es.object.keys.js");
10
+ require("core-js/modules/esnext.async-iterator.filter.js");
11
+ require("core-js/modules/esnext.async-iterator.for-each.js");
12
+ require("core-js/modules/esnext.iterator.constructor.js");
13
+ require("core-js/modules/esnext.iterator.filter.js");
14
+ require("core-js/modules/esnext.iterator.for-each.js");
15
+ require("core-js/modules/web.dom-collections.for-each.js");
16
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
17
  Object.defineProperty(exports, "__esModule", {
5
18
  value: true
6
19
  });
7
20
  exports.SecurityMenu = void 0;
21
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
22
+ require("core-js/modules/es.array.filter.js");
23
+ require("core-js/modules/es.array.map.js");
8
24
  require("core-js/modules/es.array.push.js");
25
+ require("core-js/modules/es.object.to-string.js");
26
+ require("core-js/modules/esnext.async-iterator.map.js");
27
+ require("core-js/modules/esnext.iterator.map.js");
9
28
  var _dropMenu = require("agora-ui-foundation/lib/components/drop-menu");
10
29
  var _context = require("../context");
11
30
  var _react = require("react");
12
31
  var _checkbox = require("agora-ui-foundation/lib/components/checkbox");
13
32
  var _mobxReact = require("mobx-react");
14
33
  var _i18n = require("agora-ui-foundation/lib/i18n");
34
+ var _icon = require("agora-ui-foundation/lib/components/icon");
35
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
36
+ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
37
+ var _type2 = require("agora-edu-core/lib/type");
15
38
  var _jsxRuntime = require("react/jsx-runtime");
39
+ 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; }
40
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
41
  var SecurityMenu = exports.SecurityMenu = (0, _mobxReact.observer)(function () {
17
42
  var _useContext = (0, _react.useContext)(_context.ActionBarContext),
18
43
  isLockRoomEnabled = _useContext.isLockRoomEnabled,
@@ -33,9 +58,24 @@ var SecurityMenu = exports.SecurityMenu = (0, _mobxReact.observer)(function () {
33
58
  hasEnableStartVideoPermission = _useContext.hasEnableStartVideoPermission,
34
59
  hasEnableChangeNamePermission = _useContext.hasEnableChangeNamePermission,
35
60
  hasAllowWriteBoardPermission = _useContext.hasAllowWriteBoardPermission,
36
- isScreenShareAndBoardEnabled = _useContext.isScreenShareAndBoardEnabled;
61
+ isScreenShareAndBoardEnabled = _useContext.isScreenShareAndBoardEnabled,
62
+ setEnableWaitingRoom = _useContext.setEnableWaitingRoom,
63
+ isWaitingRoomEnabled = _useContext.isWaitingRoomEnabled,
64
+ hasWaitingRoomPermission = _useContext.hasWaitingRoomPermission,
65
+ localUserRole = _useContext.localUserRole,
66
+ isWaterMarkEnabled = _useContext.isWaterMarkEnabled,
67
+ isMulti = _useContext.isMulti,
68
+ setAllowWaterMark = _useContext.setAllowWaterMark,
69
+ setWaterMarkLineType = _useContext.setWaterMarkLineType,
70
+ hasWatermarkEnablePermission = _useContext.hasWatermarkEnablePermission,
71
+ hasWatermarkDisablePermission = _useContext.hasWatermarkDisablePermission;
37
72
  var transI18n = (0, _i18n.useI18n)();
38
73
  var allActions = [];
74
+ allActions.push({
75
+ title: transI18n('fmt_security_setting_label_security_setting'),
76
+ key: 'meeting_security_title',
77
+ type: 'title'
78
+ });
39
79
  if (hasLockRoomPermission) {
40
80
  allActions.push({
41
81
  title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
@@ -50,17 +90,75 @@ var SecurityMenu = exports.SecurityMenu = (0, _mobxReact.observer)(function () {
50
90
  }
51
91
  });
52
92
  }
53
- allActions.push({
54
- title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
55
- checked: false,
56
- label: transI18n('fmt_security_options_activatewaitingroom'),
57
- styleType: "white"
58
- }),
59
- key: 'enable_waiting_room',
60
- type: 'disabled',
61
- onButtonClick: function onButtonClick() {},
62
- classNames: 'room-control-drop-with-under-line'
63
- });
93
+ if (hasWaitingRoomPermission) {
94
+ allActions.push({
95
+ title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
96
+ checked: isWaitingRoomEnabled(),
97
+ label: transI18n('fmt_security_options_activatewaitingroom'),
98
+ styleType: "white"
99
+ }),
100
+ key: 'enable_waiting_room',
101
+ type: 'primary',
102
+ onButtonClick: function onButtonClick() {
103
+ setEnableWaitingRoom(!isWaitingRoomEnabled(), true);
104
+ },
105
+ classNames: 'room-control-drop-with-under-line'
106
+ });
107
+ }
108
+
109
+ /** 主持人和联席主持人 可以进行开启单行双行水印 */
110
+ if (hasWatermarkEnablePermission && hasWatermarkDisablePermission) {
111
+ allActions.push({
112
+ title: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
113
+ className: "room-control-options-box",
114
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
115
+ className: "room-control-options-watermark-title-box",
116
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
117
+ checked: isWaterMarkEnabled,
118
+ label: transI18n('fmt_security_setting_mobile_label_watermark'),
119
+ styleType: "white"
120
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
121
+ mouseEnterDelay: 0,
122
+ trigger: "hover",
123
+ placement: "top",
124
+ content: transI18n('fmt_security_setting_popup_tip_watermark_voice_active_prioritized'),
125
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
126
+ style: {
127
+ marginLeft: '6px'
128
+ },
129
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
130
+ type: _type.FcrIconType.FCR_HELPQUESTION,
131
+ size: 16
132
+ })
133
+ })
134
+ })]
135
+ }), isWaterMarkEnabled && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
136
+ className: "room-control-options-watermark-btns",
137
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
138
+ className: "room-control-options-watermark-btn ".concat(isMulti ? '' : 'room-control-options-watermark-btn--active'),
139
+ onClick: function onClick(e) {
140
+ e.stopPropagation();
141
+ setWaterMarkLineType(_type2.FcrLineType.SINGLE_ROW);
142
+ },
143
+ children: transI18n('fmt_security_setting_mobile_option_watermark_style_single')
144
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
145
+ className: "room-control-options-watermark-btn ".concat(isMulti ? 'room-control-options-watermark-btn--active' : ''),
146
+ onClick: function onClick(e) {
147
+ e.stopPropagation();
148
+ setWaterMarkLineType(_type2.FcrLineType.MULTI_ROW);
149
+ },
150
+ children: transI18n('fmt_security_setting_mobile_option_watermark_style_multi')
151
+ })]
152
+ })]
153
+ }),
154
+ key: 'enable_watermark',
155
+ type: 'primary',
156
+ onButtonClick: function onButtonClick() {
157
+ setAllowWaterMark();
158
+ },
159
+ classNames: 'room-control-drop-with-under-line'
160
+ });
161
+ }
64
162
  allActions.push({
65
163
  title: transI18n('fmt_screenshare_options_allow'),
66
164
  key: 'allow_attendee_title',
@@ -70,7 +168,7 @@ var SecurityMenu = exports.SecurityMenu = (0, _mobxReact.observer)(function () {
70
168
  allActions.push({
71
169
  title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
72
170
  checked: isScreenShareAndBoardEnabled,
73
- label: transI18n('fmt_screenshare_controlbar_security_list_participant_screenshare'),
171
+ label: transI18n('fmt_screenshare_screen_and_board'),
74
172
  styleType: "white"
75
173
  }),
76
174
  key: 'share_screen',
@@ -159,6 +257,18 @@ var SecurityMenu = exports.SecurityMenu = (0, _mobxReact.observer)(function () {
159
257
  classNames: 'room-control-drop-disable'
160
258
  });
161
259
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_dropMenu.FcrDropMenu, {
162
- options: allActions
260
+ options: allActions.filter(function (v) {
261
+ return v.type !== 'disabled';
262
+ }).map(function (v) {
263
+ if (v.type === 'primary') {
264
+ return _objectSpread(_objectSpread({}, v), {}, {
265
+ title: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
266
+ className: "security-drop-menu-checkbox",
267
+ children: v.title
268
+ })
269
+ });
270
+ }
271
+ return _objectSpread({}, v);
272
+ })
163
273
  });
164
274
  });
@@ -30,7 +30,7 @@ var Security = exports.Security = (0, _mobxReact.observer)(function (_ref) {
30
30
  content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_dropMenu.SecurityMenu, {}),
31
31
  overlayClassName: 'attendee__footer-more-actions',
32
32
  overlayInnerStyle: {
33
- boxShadow: 'none',
33
+ boxShadow: 'var(--fcr_web_light_dropup_m)',
34
34
  border: 'none',
35
35
  width: '256px'
36
36
  },
@@ -30,7 +30,7 @@ var Settings = exports.Settings = function Settings(_ref) {
30
30
  title: title,
31
31
  onClick: function onClick() {
32
32
  openDeviceSettingDialog({
33
- activeTab: _store.DeviceSettingTab.VIDEO
33
+ activeTab: _store.DeviceSettingTab.GENERAL
34
34
  });
35
35
  },
36
36
  iconColors: {