fcr-ui-scene 3.5.1 → 3.6.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 (379) hide show
  1. package/lib/creator.d.ts +14 -0
  2. package/lib/creator.js +239 -14
  3. package/lib/electron/app.js +0 -21
  4. package/lib/electron/bootstrap-sdk.js +136 -7
  5. package/lib/electron/injections.d.ts +19 -7
  6. package/lib/electron/injections.js +206 -77
  7. package/lib/electron/ipc/ipc.d.ts +26 -0
  8. package/lib/electron/ipc/ipc.js +137 -0
  9. package/lib/electron/ipc/type.d.ts +11 -0
  10. package/lib/electron/ipc/type.js +19 -0
  11. package/lib/electron/logger.js +1 -1
  12. package/lib/electron/main.js +1 -1
  13. package/lib/electron/plugins/meeting-state.d.ts +1 -0
  14. package/lib/electron/plugins/meeting-state.js +3 -3
  15. package/lib/electron/plugins/screenshot.js +2 -2
  16. package/lib/electron/preload.js +67 -5
  17. package/lib/electron/window.js +0 -2
  18. package/lib/global.css +21 -0
  19. package/lib/modules/action-bar/components/apps/index.js +1 -0
  20. package/lib/modules/action-bar/components/apps/useWidgetList.js +1 -1
  21. package/lib/modules/action-bar/components/item/index.d.ts +2 -0
  22. package/lib/modules/action-bar/components/item/index.js +4 -2
  23. package/lib/modules/action-bar/components/leave/index.js +1 -0
  24. package/lib/modules/action-bar/components/more/index.js +1 -0
  25. package/lib/modules/action-bar/components/record/index.js +43 -106
  26. package/lib/modules/action-bar/components/record/popover.d.ts +4 -0
  27. package/lib/modules/action-bar/components/record/popover.js +57 -0
  28. package/lib/modules/action-bar/components/record/stop-record-dialog.js +1 -0
  29. package/lib/modules/action-bar/components/screen-share/index.js +15 -3
  30. package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
  31. package/lib/modules/action-bar/components/security/index.js +2 -1
  32. package/lib/modules/action-bar/components/smaller/index.js +1 -1
  33. package/lib/modules/action-bar/components/trigger-output-language/index.js +17 -22
  34. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +2 -1
  35. package/lib/modules/action-bar/index.css +3 -2
  36. package/lib/modules/action-bar/index.js +2 -1
  37. package/lib/modules/action-bar/store.d.ts +5 -0
  38. package/lib/modules/action-bar/store.js +30 -12
  39. package/lib/modules/action-bar/types.d.ts +1 -0
  40. package/lib/modules/chat/chat-room-store.js +1 -1
  41. package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
  42. package/lib/modules/chat/components/chat-bar/index.js +5 -3
  43. package/lib/modules/chat/components/chat-select/select-item/index.js +1 -1
  44. package/lib/modules/chat/components/message-list/index.js +1 -2
  45. package/lib/modules/chat/components/message-list/message-item/index.d.ts +0 -1
  46. package/lib/modules/chat/components/message-list/message-item/index.js +9 -10
  47. package/lib/modules/chat/index.css +24 -0
  48. package/lib/modules/chat/view.js +13 -3
  49. package/lib/modules/components/device-control/components/carmera/index.js +4 -5
  50. package/lib/modules/components/device-control/components/microphone/index.js +4 -5
  51. package/lib/modules/components/device-control/index.css +6 -3
  52. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -4
  53. package/lib/modules/components/leave-meeting/components/index.css +35 -0
  54. package/lib/modules/components/leave-meeting/index.js +1 -0
  55. package/lib/modules/components/leave-meeting/store.js +25 -67
  56. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +3 -2
  57. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +1 -1
  58. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +10 -9
  59. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  60. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +1 -1
  61. package/lib/modules/components/member-window/components/member-actions/index.js +2 -2
  62. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +3 -14
  63. package/lib/modules/components/member-window/index.css +18 -7
  64. package/lib/modules/components/member-window/types.d.ts +1 -1
  65. package/lib/modules/components/security-menu/index.css +2 -2
  66. package/lib/modules/components/security-menu/index.js +80 -28
  67. package/lib/modules/components/tab-frame/index.css +1 -1
  68. package/lib/modules/control-bar/components/meeting-details/index.css +1 -1
  69. package/lib/modules/control-bar/components/meeting-details/index.js +15 -9
  70. package/lib/modules/control-bar/components/more-actions/index.js +3 -21
  71. package/lib/modules/control-bar/components/share-state-nav/index.js +4 -20
  72. package/lib/modules/control-bar/index.d.ts +2 -0
  73. package/lib/modules/control-bar/index.js +3 -1
  74. package/lib/modules/control-bar/store.d.ts +11 -2
  75. package/lib/modules/control-bar/store.js +103 -95
  76. package/lib/modules/control-bar/view.js +1 -6
  77. package/lib/modules/device-pretest/audio-preview/speaker-detection.js +1 -1
  78. package/lib/modules/dialog/components/chat/electron.d.ts +1 -3
  79. package/lib/modules/dialog/components/chat/index.js +24 -17
  80. package/lib/modules/dialog/components/confirm-leave-meeting/index.d.ts +6 -0
  81. package/lib/modules/dialog/components/confirm-leave-meeting/index.js +86 -0
  82. package/lib/modules/dialog/components/control-bar/index.d.ts +1 -2
  83. package/lib/modules/dialog/components/control-bar/index.js +5 -17
  84. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  85. package/lib/modules/dialog/components/dialog-container/component/body.js +4 -2
  86. package/lib/modules/dialog/components/dialog-container/index.css +2 -1
  87. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  88. package/lib/modules/dialog/components/dialog-container/index.js +3 -1
  89. package/lib/modules/dialog/components/participant/index.d.ts +0 -1
  90. package/lib/modules/dialog/components/participant/index.js +15 -24
  91. package/lib/modules/dialog/components/pre-setting/electron.d.ts +2 -0
  92. package/lib/modules/dialog/components/pre-setting/electron.js +51 -0
  93. package/lib/modules/dialog/components/pre-setting/index.css +26 -0
  94. package/lib/modules/dialog/components/pre-setting/index.d.ts +6 -0
  95. package/lib/modules/dialog/components/pre-setting/index.js +38 -0
  96. package/lib/modules/dialog/components/pre-setting-container/component/body.d.ts +8 -0
  97. package/lib/modules/dialog/components/pre-setting-container/component/body.js +80 -0
  98. package/lib/modules/dialog/components/pre-setting-container/index.css +82 -0
  99. package/lib/modules/dialog/components/pre-setting-container/index.d.ts +18 -0
  100. package/lib/modules/dialog/components/pre-setting-container/index.js +117 -0
  101. package/lib/modules/dialog/components/rename/index.d.ts +4 -0
  102. package/lib/modules/dialog/components/rename/index.js +72 -0
  103. package/lib/modules/dialog/components/video-window/index.js +18 -16
  104. package/lib/modules/dialog/components/widget/electron.d.ts +2 -1
  105. package/lib/modules/dialog/components/widget/electron.js +3 -2
  106. package/lib/modules/dialog/components/widget/index.d.ts +2 -1
  107. package/lib/modules/dialog/components/widget/index.js +4 -6
  108. package/lib/modules/dialog/dialogs.d.ts +1 -0
  109. package/lib/modules/dialog/dialogs.js +3 -2
  110. package/lib/modules/dialog/hooks/useElectron.d.ts +2 -0
  111. package/lib/modules/dialog/hooks/useElectron.js +11 -13
  112. package/lib/modules/dialog/index.d.ts +2 -0
  113. package/lib/modules/dialog/index.js +2 -1
  114. package/lib/modules/dialog/store.d.ts +8 -3
  115. package/lib/modules/dialog/store.js +38 -26
  116. package/lib/modules/dialog/type.d.ts +1 -0
  117. package/lib/modules/dialog/view.js +2 -1
  118. package/lib/modules/event-confirm/index.d.ts +2 -0
  119. package/lib/modules/event-confirm/index.js +2 -1
  120. package/lib/modules/event-confirm/store.d.ts +9 -1
  121. package/lib/modules/event-confirm/store.js +94 -8
  122. package/lib/modules/event-confirm/view.js +55 -46
  123. package/lib/modules/{sound-effect → event-sound}/index.d.ts +3 -2
  124. package/lib/modules/{sound-effect → event-sound}/index.js +9 -5
  125. package/lib/modules/event-toast/store.js +2 -0
  126. package/lib/modules/interpreter/dialog-content/index.js +4 -1
  127. package/lib/modules/interpreter/index.d.ts +2 -0
  128. package/lib/modules/interpreter/index.js +2 -1
  129. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -0
  130. package/lib/modules/interpreter/store.d.ts +2 -2
  131. package/lib/modules/interpreter/store.js +30 -24
  132. package/lib/modules/interpreter/type.d.ts +2 -0
  133. package/lib/modules/invite/components/pstn-invite.js +3 -9
  134. package/lib/modules/invite/components/voip-invite.css +26 -0
  135. package/lib/modules/invite/components/voip-invite.d.ts +1 -0
  136. package/lib/modules/invite/components/voip-invite.js +8 -11
  137. package/lib/modules/invite/index.css +16 -3
  138. package/lib/modules/invite/index.d.ts +2 -1
  139. package/lib/modules/invite/index.js +2 -1
  140. package/lib/modules/invite/store.d.ts +5 -1
  141. package/lib/modules/invite/store.js +8 -1
  142. package/lib/modules/layout/components/Carousel.d.ts +1 -1
  143. package/lib/modules/layout/components/Carousel.js +16 -118
  144. package/lib/modules/layout/components/CommonVideoRenderer.d.ts +13 -0
  145. package/lib/modules/layout/components/CommonVideoRenderer.js +214 -0
  146. package/lib/modules/layout/components/Gallery.d.ts +1 -0
  147. package/lib/modules/layout/components/Gallery.js +62 -205
  148. package/lib/modules/layout/components/index.css +17 -34
  149. package/lib/modules/layout/index.d.ts +2 -0
  150. package/lib/modules/layout/index.js +2 -1
  151. package/lib/modules/layout/store.d.ts +5 -2
  152. package/lib/modules/layout/store.js +47 -39
  153. package/lib/modules/layout/type.d.ts +4 -0
  154. package/lib/modules/layout/type.js +6 -1
  155. package/lib/modules/live-streaming/store.d.ts +1 -0
  156. package/lib/modules/live-streaming/store.js +19 -8
  157. package/lib/modules/participant/components/confirm-input/index.d.ts +4 -4
  158. package/lib/modules/participant/components/confirm-input/index.js +74 -6
  159. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +27 -3
  160. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +4 -0
  161. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +3 -2
  162. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +4 -3
  163. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +1 -0
  164. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +9 -1
  165. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +1 -1
  166. package/lib/modules/participant/components/participants/components/participants/index.css +1 -0
  167. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +18 -0
  168. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +12 -5
  169. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +1 -8
  170. package/lib/modules/participant/index.css +6 -0
  171. package/lib/modules/participant/index.d.ts +1 -0
  172. package/lib/modules/participant/index.js +9 -0
  173. package/lib/modules/participant/store.d.ts +6 -0
  174. package/lib/modules/participant/store.js +130 -96
  175. package/lib/modules/pc-audio-connect/store.js +1 -1
  176. package/lib/modules/phone-audio-connect/index.d.ts +2 -0
  177. package/lib/modules/phone-audio-connect/index.js +2 -1
  178. package/lib/modules/phone-audio-connect/store.d.ts +4 -1
  179. package/lib/modules/phone-audio-connect/store.js +4 -2
  180. package/lib/modules/setting/audio-settings/audio-settings.js +70 -48
  181. package/lib/modules/setting/audio-settings/index.css +23 -6
  182. package/lib/modules/setting/general-settings/general-settings.d.ts +1 -2
  183. package/lib/modules/setting/general-settings/general-settings.js +111 -37
  184. package/lib/modules/setting/general-settings/index.css +15 -0
  185. package/lib/modules/setting/index.d.ts +4 -1
  186. package/lib/modules/setting/index.js +7 -4
  187. package/lib/modules/setting/state/index.js +1 -1
  188. package/lib/modules/setting/store.d.ts +24 -11
  189. package/lib/modules/setting/store.js +203 -142
  190. package/lib/modules/setting/video-settings/index.css +13 -2
  191. package/lib/modules/setting/video-settings/video-settings-basic.js +18 -27
  192. package/lib/modules/setting/video-settings/video-settings.d.ts +0 -2
  193. package/lib/modules/setting/video-settings/video-settings.js +3 -2
  194. package/lib/modules/setting/view.d.ts +11 -2
  195. package/lib/modules/setting/view.js +93 -71
  196. package/lib/modules/share-screen/components/selection/index.js +6 -2
  197. package/lib/modules/share-screen/index.d.ts +4 -1
  198. package/lib/modules/share-screen/index.js +3 -1
  199. package/lib/modules/share-screen/store.d.ts +15 -5
  200. package/lib/modules/share-screen/store.js +105 -59
  201. package/lib/modules/share-screen/view.js +1 -1
  202. package/lib/modules/state-bar/index.css +4 -2
  203. package/lib/modules/state-bar/index.d.ts +2 -0
  204. package/lib/modules/state-bar/index.js +2 -1
  205. package/lib/modules/state-bar/layout-config.js +1 -0
  206. package/lib/modules/state-bar/live-streaming-state.js +1 -0
  207. package/lib/modules/state-bar/meeting-detail.css +10 -1
  208. package/lib/modules/state-bar/meeting-details.js +42 -26
  209. package/lib/modules/state-bar/meeting-network-state.css +8 -0
  210. package/lib/modules/state-bar/meeting-time.js +9 -20
  211. package/lib/modules/state-bar/store.d.ts +5 -1
  212. package/lib/modules/state-bar/store.js +10 -3
  213. package/lib/modules/state-bar/view.js +17 -6
  214. package/lib/modules/video-window/components/members/index.js +0 -3
  215. package/lib/modules/waiting-room-layout/index.css +13 -0
  216. package/lib/modules/waiting-room-layout/index.d.ts +2 -1
  217. package/lib/modules/waiting-room-layout/index.js +2 -1
  218. package/lib/modules/waiting-room-layout/store.d.ts +12 -1
  219. package/lib/modules/waiting-room-layout/store.js +42 -6
  220. package/lib/modules/waiting-room-layout/view.js +22 -5
  221. package/lib/modules/whiteboard/components/control-bar/index.css +1 -1
  222. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +1 -1
  223. package/lib/modules/whiteboard/components/switch-theme/libs.js +3 -1
  224. package/lib/modules/whiteboard/components/toolbar/ style.css +1 -0
  225. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +1 -0
  226. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +1 -0
  227. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +3 -14
  228. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.d.ts +1 -0
  229. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +83 -0
  230. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -2
  231. package/lib/modules/whiteboard/components/toolbar/components/history.js +3 -3
  232. package/lib/modules/whiteboard/components/toolbar/components/item/index.d.ts +1 -0
  233. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +42 -0
  234. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -2
  235. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +2 -2
  236. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +3 -3
  237. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +6 -6
  238. package/lib/modules/whiteboard/components/toolbar/index.js +9 -113
  239. package/lib/modules/whiteboard/components/toolbar/store.d.ts +18 -0
  240. package/lib/modules/whiteboard/components/toolbar/store.js +276 -83
  241. package/lib/modules/whiteboard/context.d.ts +1 -2
  242. package/lib/modules/whiteboard/index.d.ts +1 -14
  243. package/lib/modules/whiteboard/index.js +131 -426
  244. package/lib/modules/whiteboard/view.js +12 -10
  245. package/lib/modules/widget/sdk.js +2 -1
  246. package/lib/object-manager.d.ts +8 -0
  247. package/lib/object-manager.js +75 -0
  248. package/lib/plugins/browser-runtime-plugin.js +19 -14
  249. package/lib/providers/ability-provider.d.ts +8 -0
  250. package/lib/providers/ability-provider.js +14 -0
  251. package/lib/providers/device-privilege-provider.d.ts +1 -0
  252. package/lib/providers/device-privilege-provider.js +53 -75
  253. package/lib/providers/device-provider.d.ts +18 -8
  254. package/lib/providers/device-provider.js +397 -209
  255. package/lib/providers/device-stream-provider.js +0 -4
  256. package/lib/providers/dialog-provider.d.ts +1 -0
  257. package/lib/providers/dialog-provider.js +4 -18
  258. package/lib/providers/event-provider.js +45 -2
  259. package/lib/providers/interpreter-provider.d.ts +4 -0
  260. package/lib/providers/interpreter-provider.js +166 -137
  261. package/lib/providers/message-provider.js +44 -2
  262. package/lib/providers/privilege-provider.d.ts +33 -0
  263. package/lib/providers/privilege-provider.js +120 -45
  264. package/lib/providers/room-provider.d.ts +12 -10
  265. package/lib/providers/room-provider.js +162 -262
  266. package/lib/providers/screen-share-provider.d.ts +4 -0
  267. package/lib/providers/screen-share-provider.js +3 -6
  268. package/lib/providers/widget-provider.js +6 -4
  269. package/lib/runtime.d.ts +20 -8
  270. package/lib/scenes/main-scene.d.ts +2 -0
  271. package/lib/scenes/main-scene.js +95 -37
  272. package/lib/scenes/waiting-scene.js +16 -13
  273. package/lib/schema.d.ts +55 -32
  274. package/lib/schema.js +23 -9
  275. package/lib/shared-data-source/config.d.ts +6 -2
  276. package/lib/shared-data-source/config.js +81 -10
  277. package/lib/shared-data-source/member-data.d.ts +16 -20
  278. package/lib/shared-data-source/member-data.js +121 -110
  279. package/lib/shared-data-source/screen-share-data-source.d.ts +37 -0
  280. package/lib/shared-data-source/screen-share-data-source.js +134 -0
  281. package/lib/shared-data-source/security-data.d.ts +1 -0
  282. package/lib/shared-data-source/security-data.js +3 -5
  283. package/lib/shared-data-source/setting.d.ts +1 -0
  284. package/lib/shared-data-source/setting.js +33 -17
  285. package/lib/shared-data-source/video-window.d.ts +3 -3
  286. package/lib/shared-data-source/video-window.js +55 -38
  287. package/lib/translations/enUS.d.ts +48 -1
  288. package/lib/translations/enUS.js +101 -17
  289. package/lib/translations/zhCN.d.ts +48 -1
  290. package/lib/translations/zhCN.js +88 -4
  291. package/lib/type.d.ts +40 -20
  292. package/lib/type.js +14 -1
  293. package/lib/ui-manager.d.ts +11 -9
  294. package/lib/ui-manager.js +118 -29
  295. package/lib/ui-scene.d.ts +7 -4
  296. package/lib/ui-scene.js +111 -128
  297. package/lib/utilities/constant.d.ts +3 -1
  298. package/lib/utilities/constant.js +2 -0
  299. package/lib/utilities/copyText.js +15 -11
  300. package/lib/utilities/default-config.d.ts +2 -0
  301. package/lib/utilities/default-config.js +11 -5
  302. package/lib/utilities/i18n-common-data.d.ts +2 -0
  303. package/lib/utilities/i18n-common-data.js +15 -0
  304. package/lib/utilities/logger.d.ts +0 -1
  305. package/lib/utilities/logger.js +3 -4
  306. package/lib/utilities/renderer.d.ts +0 -9
  307. package/lib/utilities/renderer.js +1 -70
  308. package/lib/utilities/screen.js +3 -1
  309. package/lib/utilities/setting-config-storage.d.ts +6 -1
  310. package/lib/utilities/setting-config-storage.js +21 -4
  311. package/lib/utilities/tools.d.ts +7 -6
  312. package/lib/utilities/tools.js +56 -44
  313. package/lib/utilities/ui-resources.d.ts +6 -0
  314. package/lib/utilities/ui-resources.js +47 -9
  315. package/lib/waiting-room-control-manager.d.ts +4 -4
  316. package/lib/waiting-room-control-manager.js +29 -9
  317. package/package.json +6 -6
  318. package/public/assets/browser/images/default1.jpg +0 -0
  319. package/public/assets/browser/images/default2.jpg +0 -0
  320. package/public/assets/browser/images/default3.jpg +0 -0
  321. package/public/assets/browser/images/default4.jpg +0 -0
  322. package/public/assets/browser/images/default5.jpg +0 -0
  323. package/public/assets/browser/images/default6.jpg +0 -0
  324. package/public/assets/browser/images/default7.jpg +0 -0
  325. package/public/assets/browser/sound_effects/pretest.mp3 +0 -0
  326. package/public/assets/browser/sound_effects/recording_started.mp3 +0 -0
  327. package/public/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  328. package/public/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  329. package/public/assets/browser/videos/default8.mp4 +0 -0
  330. package/public/assets/browser/videos/default9.mp4 +0 -0
  331. package/public/assets/electron/images/default1.jpg +0 -0
  332. package/public/assets/electron/images/default2.jpg +0 -0
  333. package/public/assets/electron/sound_effects/pretest.mp3 +0 -0
  334. package/public/assets/electron/videos/default8.mp4 +0 -0
  335. package/public/index.html +103 -82
  336. package/lib/hooks/meeting-time.d.ts +0 -15
  337. package/lib/hooks/meeting-time.js +0 -92
  338. package/lib/login-confirm-dialog.d.ts +0 -13
  339. package/lib/login-confirm-dialog.js +0 -85
  340. package/lib/modules/action-bar/components/apps/appitems.d.ts +0 -3
  341. package/lib/modules/action-bar/components/apps/appitems.js +0 -45
  342. package/lib/modules/components/member-window/components/member-board.d.ts +0 -2
  343. package/lib/modules/components/member-window/components/member-board.js +0 -63
  344. package/lib/modules/dialog/components/system-preference/bg1.png +0 -0
  345. package/lib/modules/dialog/components/system-preference/bg2.png +0 -0
  346. package/lib/modules/dialog/types/index.d.ts +0 -70
  347. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +0 -6
  348. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +0 -28
  349. package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +0 -7
  350. package/lib/modules/participant/components/attendee/components/user-avatar/index.js +0 -39
  351. package/lib/modules/participant/components/attendee/index.css +0 -69
  352. package/lib/modules/participant/components/attendee/index.d.ts +0 -4
  353. package/lib/modules/participant/components/attendee/index.js +0 -337
  354. package/lib/modules/participant/components/drop-menu/index.css +0 -60
  355. package/lib/modules/participant/components/drop-menu/index.d.ts +0 -2
  356. package/lib/modules/participant/components/drop-menu/index.js +0 -189
  357. package/lib/modules/participant/components/footer/buttons.d.ts +0 -6
  358. package/lib/modules/participant/components/footer/buttons.js +0 -52
  359. package/lib/modules/participant/components/footer/index.d.ts +0 -4
  360. package/lib/modules/participant/components/footer/index.js +0 -37
  361. package/lib/modules/participant/components/merge/index.d.ts +0 -11
  362. package/lib/modules/participant/components/merge/index.js +0 -49
  363. package/lib/modules/participant/components/rename/index.d.ts +0 -4
  364. package/lib/modules/participant/components/rename/index.js +0 -45
  365. package/lib/modules/participant/components/user-action/index.d.ts +0 -17
  366. package/lib/modules/participant/components/user-action/index.js +0 -169
  367. package/lib/modules/video-window/deviceState/index.d.ts +0 -16
  368. package/lib/modules/video-window/deviceState/index.js +0 -75
  369. package/lib/modules/video-window/members/index.css +0 -51
  370. package/lib/modules/video-window/members/index.d.ts +0 -2
  371. package/lib/modules/video-window/members/index.js +0 -157
  372. package/lib/modules/video-window/speaking/index.css +0 -69
  373. package/lib/modules/video-window/speaking/index.d.ts +0 -3
  374. package/lib/modules/video-window/speaking/index.js +0 -57
  375. package/lib/modules/video-window/topControl/index.css +0 -35
  376. package/lib/modules/video-window/topControl/index.d.ts +0 -3
  377. package/lib/modules/video-window/topControl/index.js +0 -92
  378. /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.d.ts +0 -0
  379. /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.js +0 -0
@@ -4,7 +4,7 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.trace = exports.getLogger = exports.generateLogObserver = exports.createLogger = void 0;
7
+ exports.getLogger = exports.generateLogObserver = exports.createLogger = void 0;
8
8
  require("core-js/modules/es.array.concat.js");
9
9
  require("core-js/modules/es.array.for-each.js");
10
10
  require("core-js/modules/es.object.to-string.js");
@@ -13,7 +13,7 @@ require("core-js/modules/esnext.iterator.constructor.js");
13
13
  require("core-js/modules/esnext.iterator.for-each.js");
14
14
  require("core-js/modules/web.dom-collections.for-each.js");
15
15
  var _logger = require("agora-foundation/lib/logger");
16
- var _decorator = require("agora-foundation/lib/decorator");
16
+ var _misc = require("agora-foundation/lib/utilities/misc");
17
17
  var _logSerializer = require("agora-foundation/lib/decorator/log/log-serializer");
18
18
  var getLogger = exports.getLogger = function getLogger() {
19
19
  return (0, _logger.getLogger)({
@@ -23,11 +23,10 @@ var getLogger = exports.getLogger = function getLogger() {
23
23
  var createLogger = exports.createLogger = function createLogger(opts) {
24
24
  return (0, _logger.createLogger)({
25
25
  label: 'ui-scene',
26
- prefix: opts.prefix,
26
+ prefix: "".concat(opts.prefix, "@").concat((0, _misc.randomString)(5)),
27
27
  database: opts.database
28
28
  });
29
29
  };
30
- var trace = exports.trace = _decorator.trace.to('ui-scene');
31
30
  var generateLogObserver = exports.generateLogObserver = function generateLogObserver(logger, callbackMethods) {
32
31
  var observer = {};
33
32
  callbackMethods.forEach(function (method) {
@@ -1,16 +1,7 @@
1
- import { AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
2
1
  export declare const open: (path: string) => void;
3
2
  export declare const close: (path: string) => void;
4
3
  export declare const isWindows: () => boolean;
5
4
  export declare const isMac: () => boolean;
6
- export declare const getCurrentSharingWorkArea: (currentShareId: string, currentShareType: AgoraRtcScreenCaptureType, allApplicationWindows: AgoraRtcWindowInfo[]) => {
7
- x: number;
8
- y: number;
9
- width: number;
10
- height: number;
11
- displayId: number;
12
- availTop: number;
13
- };
14
5
  /**
15
6
  * handle the will-close event of the browserWindow,
16
7
  * callback will be called when:
@@ -4,16 +4,8 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.setInMeetingState = exports.restartApp = exports.releaseSubAllWindowRefs = exports.open = exports.isWindows = exports.isMac = exports.handleWillClose = exports.getCurrentSharingWorkArea = exports.close = void 0;
8
- require("core-js/modules/es.array.concat.js");
9
- require("core-js/modules/es.array.find.js");
7
+ exports.setInMeetingState = exports.restartApp = exports.releaseSubAllWindowRefs = exports.open = exports.isWindows = exports.isMac = exports.handleWillClose = exports.close = void 0;
10
8
  require("core-js/modules/es.array.index-of.js");
11
- require("core-js/modules/es.number.constructor.js");
12
- require("core-js/modules/es.object.to-string.js");
13
- require("core-js/modules/esnext.async-iterator.find.js");
14
- require("core-js/modules/esnext.iterator.constructor.js");
15
- require("core-js/modules/esnext.iterator.find.js");
16
- var _type = require("agora-rte-sdk/lib/core/rtc/type");
17
9
  var open = exports.open = function open(path) {
18
10
  window.runtime.open(path);
19
11
  };
@@ -26,67 +18,6 @@ var isWindows = exports.isWindows = function isWindows() {
26
18
  var isMac = exports.isMac = function isMac() {
27
19
  return navigator.userAgent.indexOf('Mac') > -1;
28
20
  };
29
- var getCurrentSharingWorkArea = exports.getCurrentSharingWorkArea = function getCurrentSharingWorkArea(currentShareId, currentShareType, allApplicationWindows) {
30
- var displays = window.runtime.screen.getAllDisplays();
31
- var bounds = {
32
- x: 0,
33
- y: 0,
34
- width: 0,
35
- height: 0,
36
- displayId: 1,
37
- availTop: 0
38
- };
39
- if (currentShareType === _type.AgoraRtcScreenCaptureType.SCREEN) {
40
- var display;
41
- if (isWindows()) {
42
- display = displays.find(function (display, index) {
43
- return index === Number(currentShareId);
44
- });
45
- } else {
46
- display = displays.find(function (display, index) {
47
- return display.id === Number(currentShareId);
48
- });
49
- }
50
- if (!display) {
51
- console.log("cannot get correct display, use current display. width: ".concat(window.screen.availWidth, ", height: ").concat(window.screen.availHeight));
52
- bounds = {
53
- x: 0,
54
- y: 0,
55
- width: window.screen.availWidth,
56
- height: window.screen.availHeight,
57
- displayId: 0,
58
- availTop: 0
59
- };
60
- } else {
61
- bounds = {
62
- x: display.bounds.x,
63
- y: isWindows() ? 0 : display.bounds.y,
64
- width: display.bounds.width,
65
- height: display.bounds.height,
66
- displayId: display.id,
67
- availTop: display.workArea.y
68
- };
69
- }
70
- } else {
71
- var _appWindow$bounds$x, _appWindow$bounds, _appWindow$bounds$y, _appWindow$bounds2;
72
- var appWindow = allApplicationWindows.find(function (app) {
73
- return app.id === currentShareId;
74
- });
75
- var _display = window.runtime.screen.getDisplayNearestPoint({
76
- x: (_appWindow$bounds$x = appWindow === null || appWindow === void 0 || (_appWindow$bounds = appWindow.bounds) === null || _appWindow$bounds === void 0 ? void 0 : _appWindow$bounds.x) !== null && _appWindow$bounds$x !== void 0 ? _appWindow$bounds$x : 0,
77
- y: (_appWindow$bounds$y = appWindow === null || appWindow === void 0 || (_appWindow$bounds2 = appWindow.bounds) === null || _appWindow$bounds2 === void 0 ? void 0 : _appWindow$bounds2.y) !== null && _appWindow$bounds$y !== void 0 ? _appWindow$bounds$y : 0
78
- });
79
- bounds = {
80
- x: _display.bounds.x,
81
- y: isWindows() ? 0 : _display.bounds.y,
82
- width: _display.bounds.width,
83
- height: _display.bounds.height,
84
- displayId: _display.id,
85
- availTop: _display.workArea.y
86
- };
87
- }
88
- return bounds;
89
- };
90
21
 
91
22
  /**
92
23
  * handle the will-close event of the browserWindow,
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.isFullScreen = exports.exitFullScreen = exports.enterFullScreen = void 0;
8
9
  var _env = require("agora-foundation/lib/utilities/env");
10
+ var _isFunction = _interopRequireDefault(require("lodash/isFunction"));
9
11
  var isFullScreen = exports.isFullScreen = function isFullScreen() {
10
- return !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement || (0, _env.isElectron)() && window.runtime.browserWindow.isFullScreen());
12
+ return !!(document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement || (0, _env.isElectron)() && (0, _isFunction["default"])(window.runtime.browserWindow.isFullScreen) && window.runtime.browserWindow.isFullScreen());
11
13
  };
12
14
  var enterFullScreen = exports.enterFullScreen = function enterFullScreen() {
13
15
  if (isFullScreen()) return;
@@ -1,11 +1,16 @@
1
1
  import { FcrUIMediaConfig, FcrUISettingConfig } from '../type';
2
+ import { FcrUILocalStorageProvider } from '../providers/local-storage-provider';
2
3
  export declare const settingConfigStorageKey = "fcr-ui-setting-config";
3
4
  export declare class FcrSettingConfigStorage implements FcrUISettingConfig {
4
5
  private _isElectron;
5
6
  private _settingConfig;
6
- constructor();
7
+ private _localStorageProvider;
8
+ constructor({ localStorageProvider }: {
9
+ localStorageProvider: FcrUILocalStorageProvider;
10
+ });
7
11
  get media(): FcrUIMediaConfig;
8
12
  set media(media: FcrUIMediaConfig);
13
+ private _initMediaConfig;
9
14
  private _initSettingConfig;
10
15
  private _setSettingConfig;
11
16
  private _createMediaProxy;
@@ -28,11 +28,13 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
28
28
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
29
29
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
30
30
  var _env = require("agora-foundation/lib/utilities/env");
31
+ var _store = require("../modules/setting/store");
31
32
  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; }
32
33
  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; }
33
34
  var settingConfigStorageKey = exports.settingConfigStorageKey = 'fcr-ui-setting-config';
34
35
  var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/function () {
35
- function FcrSettingConfigStorage() {
36
+ function FcrSettingConfigStorage(_ref) {
37
+ var localStorageProvider = _ref.localStorageProvider;
36
38
  (0, _classCallCheck2["default"])(this, FcrSettingConfigStorage);
37
39
  (0, _defineProperty2["default"])(this, "_isElectron", false);
38
40
  (0, _defineProperty2["default"])(this, "_settingConfig", {
@@ -43,6 +45,7 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
43
45
  }
44
46
  });
45
47
  this._isElectron = (0, _env.isElectron)();
48
+ this._localStorageProvider = localStorageProvider;
46
49
  this._initSettingConfig();
47
50
  }
48
51
  return (0, _createClass2["default"])(FcrSettingConfigStorage, [{
@@ -54,6 +57,19 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
54
57
  this._settingConfig.media = this._createMediaProxy(media);
55
58
  this._setSettingConfig(this._settingConfig);
56
59
  }
60
+ }, {
61
+ key: "_initMediaConfig",
62
+ value: function _initMediaConfig() {
63
+ var localSetting = this._localStorageProvider.read(_store.SETTING_KEY);
64
+ if (localSetting) {
65
+ var _localSetting$cameraE, _localSetting$microph, _localSetting$autoCon;
66
+ this._settingConfig.media = {
67
+ cameraExpectedOff: (_localSetting$cameraE = localSetting.cameraExpectedOff) !== null && _localSetting$cameraE !== void 0 ? _localSetting$cameraE : this._settingConfig.media.cameraExpectedOff,
68
+ microphoneExpectedOff: (_localSetting$microph = localSetting.microphoneExpectedOff) !== null && _localSetting$microph !== void 0 ? _localSetting$microph : this._settingConfig.media.microphoneExpectedOff,
69
+ autoConnectAudio: (_localSetting$autoCon = localSetting.autoConnectAudio) !== null && _localSetting$autoCon !== void 0 ? _localSetting$autoCon : this._settingConfig.media.autoConnectAudio
70
+ };
71
+ }
72
+ }
57
73
  }, {
58
74
  key: "_initSettingConfig",
59
75
  value: function _initSettingConfig() {
@@ -65,14 +81,15 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
65
81
  this._settingConfig = settingConfig;
66
82
  }
67
83
  } else {
68
- var _settingConfig = localStorage.getItem(settingConfigStorageKey);
84
+ var _settingConfig = this._localStorageProvider.read(settingConfigStorageKey);
69
85
  if (!_settingConfig) return;
70
86
  try {
71
87
  this._settingConfig = JSON.parse(_settingConfig);
72
88
  } catch (e) {
73
- localStorage.setItem(settingConfigStorageKey, JSON.stringify(this._settingConfig));
89
+ this._localStorageProvider.write(settingConfigStorageKey, JSON.stringify(this._settingConfig));
74
90
  }
75
91
  }
92
+ this._initMediaConfig();
76
93
  this._settingConfig.media = this._createMediaProxy(this._settingConfig.media);
77
94
  }
78
95
  }, {
@@ -82,7 +99,7 @@ var FcrSettingConfigStorage = exports.FcrSettingConfigStorage = /*#__PURE__*/fun
82
99
  if (this._isElectron) {
83
100
  window.runtime.setUserSettingData(settingConfig);
84
101
  } else {
85
- localStorage.setItem(settingConfigStorageKey, JSON.stringify(settingConfig));
102
+ this._localStorageProvider.write(settingConfigStorageKey, JSON.stringify(settingConfig));
86
103
  }
87
104
  }
88
105
  }, {
@@ -1,5 +1,4 @@
1
1
  import { FcrUIDialogKey } from './constant';
2
- import { AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
3
2
  import { CurrentShareBounds } from '../modules/control-bar/types';
4
3
  export declare const uint8ArrayToImageData: (target: {
5
4
  buffer?: Uint8Array;
@@ -15,10 +14,9 @@ declare class LocalStorage {
15
14
  export declare const storage: LocalStorage;
16
15
  export declare const ASIDE_WIDTH = "aside_width";
17
16
  export declare const PARTICIPANT_POSITION = "participant_position";
18
- export declare const getAssetUrl: (path: string) => string;
19
17
  export declare const convertToFixedNumber: (value: number, divisor?: number, fractionDigits?: number) => number;
20
18
  export declare const matchVirtualSoundCardPattern: (deviceName: string) => boolean;
21
- export declare const isResourceZipUrl: (url: string) => boolean;
19
+ export declare const isZipUrl: (url: string) => boolean;
22
20
  export declare const isPngOrJpg: (path: string) => boolean;
23
21
  export declare const isMp4: (path: string) => boolean;
24
22
  export declare const isMp3OrWav: (path: string) => boolean;
@@ -26,6 +24,7 @@ export declare function getFileNameWithoutExtension(filePath: string): string;
26
24
  export declare const setLanguage: (language: string) => void;
27
25
  export declare const getLanguage: () => string | null;
28
26
  export declare const waitUntil: (prediction: () => boolean | Promise<boolean>, memo?: string, intervalMs?: number, timeout?: number) => Promise<void>;
27
+ export declare const renderMeetingName: (meetingName: string) => string;
29
28
  export declare const renderMeetingId: (meetingId: string | undefined, roomId: string) => string;
30
29
  export declare function handleCheckMouseOver(params: {
31
30
  /**
@@ -61,9 +60,11 @@ export type CurrentShareScreenWorkArea = {
61
60
  scaleFactor: number;
62
61
  };
63
62
  export declare function getCurrentSharingWorkArea(params: {
64
- currentShareId: string;
65
- currentShareType: AgoraRtcScreenCaptureType;
66
63
  currentShareBounds: CurrentShareBounds;
67
- allApplicationWindows: AgoraRtcWindowInfo[];
68
64
  }): CurrentShareScreenWorkArea;
65
+ export declare function followCorrectDisplay(dailogKey: FcrUIDialogKey | FcrUIDialogKey[], extraRefControlbarCondition?: boolean): {
66
+ bounds: CurrentShareBounds;
67
+ nearDisplay: Electron.Display;
68
+ } | undefined;
69
+ export declare const getBrowserLanguage: () => "zh" | "en";
69
70
  export {};
@@ -5,17 +5,19 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getAssetUrl = exports.convertToFixedNumber = exports.PARTICIPANT_POSITION = exports.ASIDE_WIDTH = void 0;
8
+ exports.convertToFixedNumber = exports.PARTICIPANT_POSITION = exports.ASIDE_WIDTH = void 0;
9
+ exports.followCorrectDisplay = followCorrectDisplay;
10
+ exports.getBrowserLanguage = void 0;
9
11
  exports.getCurrentSharingWorkArea = getCurrentSharingWorkArea;
10
12
  exports.getFileNameWithoutExtension = getFileNameWithoutExtension;
11
13
  exports.getLanguage = void 0;
12
14
  exports.handleCheckMouseOver = handleCheckMouseOver;
13
- exports.waitUntil = exports.uint8ArrayToImageData = exports.storage = exports.setLanguage = exports.renderMeetingId = exports.matchVirtualSoundCardPattern = exports.isResourceZipUrl = exports.isPngOrJpg = exports.isMp4 = exports.isMp3OrWav = void 0;
15
+ exports.waitUntil = exports.uint8ArrayToImageData = exports.storage = exports.setLanguage = exports.renderMeetingName = exports.renderMeetingId = exports.matchVirtualSoundCardPattern = exports.isZipUrl = exports.isPngOrJpg = exports.isMp4 = exports.isMp3OrWav = void 0;
14
16
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
17
  require("core-js/modules/es.array.concat.js");
16
- require("core-js/modules/es.array.find.js");
17
18
  require("core-js/modules/es.array.for-each.js");
18
- require("core-js/modules/es.array.includes.js");
19
+ require("core-js/modules/es.array.is-array.js");
20
+ require("core-js/modules/es.array.map.js");
19
21
  require("core-js/modules/es.array.reduce.js");
20
22
  require("core-js/modules/es.array.slice.js");
21
23
  require("core-js/modules/es.date.now.js");
@@ -26,15 +28,15 @@ require("core-js/modules/es.promise.js");
26
28
  require("core-js/modules/es.regexp.exec.js");
27
29
  require("core-js/modules/es.regexp.test.js");
28
30
  require("core-js/modules/es.string.ends-with.js");
29
- require("core-js/modules/es.string.includes.js");
30
31
  require("core-js/modules/es.string.match.js");
31
32
  require("core-js/modules/es.string.replace.js");
32
- require("core-js/modules/esnext.async-iterator.find.js");
33
+ require("core-js/modules/es.string.starts-with.js");
33
34
  require("core-js/modules/esnext.async-iterator.for-each.js");
35
+ require("core-js/modules/esnext.async-iterator.map.js");
34
36
  require("core-js/modules/esnext.async-iterator.reduce.js");
35
37
  require("core-js/modules/esnext.iterator.constructor.js");
36
- require("core-js/modules/esnext.iterator.find.js");
37
38
  require("core-js/modules/esnext.iterator.for-each.js");
39
+ require("core-js/modules/esnext.iterator.map.js");
38
40
  require("core-js/modules/esnext.iterator.reduce.js");
39
41
  require("core-js/modules/web.dom-collections.for-each.js");
40
42
  require("core-js/modules/web.timers.js");
@@ -45,8 +47,8 @@ var _schedule = require("agora-foundation/lib/schedule");
45
47
  var _logger = require("agora-foundation/lib/logger");
46
48
  var _platform = require("./platform");
47
49
  var _constant = require("./constant");
48
- var _type = require("agora-rte-sdk/lib/core/rtc/type");
49
50
  var _env = require("agora-foundation/lib/utilities/env");
51
+ var _dialogs = require("../modules/dialog/dialogs");
50
52
  var uint8ArrayToImageData = exports.uint8ArrayToImageData = function uint8ArrayToImageData(target) {
51
53
  var _target$buffer;
52
54
  if (!target || !(target !== null && target !== void 0 && (_target$buffer = target.buffer) !== null && _target$buffer !== void 0 && _target$buffer.length)) {
@@ -107,9 +109,6 @@ var LocalStorage = /*#__PURE__*/function () {
107
109
  var storage = exports.storage = new LocalStorage();
108
110
  var ASIDE_WIDTH = exports.ASIDE_WIDTH = 'aside_width';
109
111
  var PARTICIPANT_POSITION = exports.PARTICIPANT_POSITION = 'participant_position';
110
- var getAssetUrl = exports.getAssetUrl = function getAssetUrl(path) {
111
- return window.runtime.getAssetUrl(path);
112
- };
113
112
  var convertToFixedNumber = exports.convertToFixedNumber = function convertToFixedNumber(value) {
114
113
  var divisor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
115
114
  var fractionDigits = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
@@ -122,7 +121,7 @@ var matchVirtualSoundCardPattern = exports.matchVirtualSoundCardPattern = functi
122
121
  return prev;
123
122
  }, false);
124
123
  };
125
- var isResourceZipUrl = exports.isResourceZipUrl = function isResourceZipUrl(url) {
124
+ var isZipUrl = exports.isZipUrl = function isZipUrl(url) {
126
125
  if (!url || typeof url !== 'string') return false;
127
126
  var regex = /^https?:\/\/.+\.(zip)(\?.*)?$/i;
128
127
  return regex.test(url);
@@ -201,10 +200,14 @@ var waitUntil = exports.waitUntil = /*#__PURE__*/function () {
201
200
  return _ref.apply(this, arguments);
202
201
  };
203
202
  }();
203
+ var renderMeetingName = exports.renderMeetingName = function renderMeetingName(meetingName) {
204
+ if (meetingName.length <= 20) return meetingName;
205
+ return meetingName.slice(0, 20) + '...';
206
+ };
204
207
  var renderMeetingId = exports.renderMeetingId = function renderMeetingId(meetingId, roomId) {
205
208
  var renderMeetingId = '';
206
209
  if (meetingId) {
207
- renderMeetingId = meetingId;
210
+ renderMeetingId = meetingId.replace(/(.{3})/g, '$1 ');
208
211
  } else {
209
212
  if (roomId.endsWith('-waiting')) {
210
213
  renderMeetingId = roomId.slice(0, -8).replace(/(.{3})/g, '$1 ');
@@ -285,9 +288,10 @@ function handleCheckMouseOver(params) {
285
288
  var barWrapWithInsideBoundary = mouse_x > bar_x1 && mouse_x < bar_x2 && mouse_y > bar_y1 && mouse_y < bar_y2 - inside_h || barControlBoundary;
286
289
  if (dialog === _constant.FcrUIDialogKey.CONTROL_BAR ? barWrapWithInsideBoundary : barWrapBoundary) {
287
290
  browserWindow.setIgnoreMouseEvents(false);
288
- if (!browserWindow.isFocused()) {
289
- browserWindow.focus();
290
- }
291
+ // 因为当用户点击其他窗口时,鼠标返回热区窗口会自动聚焦返回到上层,经测试这个注释不会影响现有功能,先注释看有没有其它影响
292
+ // if (!browserWindow.isFocused()) {
293
+ // browserWindow.focus();
294
+ // }
291
295
  } else {
292
296
  browserWindow.setIgnoreMouseEvents(true);
293
297
  }
@@ -296,18 +300,10 @@ function handleCheckMouseOver(params) {
296
300
  return timerId;
297
301
  }
298
302
  function getCurrentSharingWorkArea(params) {
299
- var currentShareId = params.currentShareId,
300
- currentShareType = params.currentShareType,
301
- currentShareBounds = params.currentShareBounds,
302
- allApplicationWindows = params.allApplicationWindows;
303
+ var currentShareBounds = params.currentShareBounds;
303
304
  var _window$screen = window.screen,
304
305
  availWidth = _window$screen.availWidth,
305
306
  availHeight = _window$screen.availHeight;
306
- var displays = window.runtime.screen.getAllDisplays();
307
- var isDisplay = currentShareType === _type.AgoraRtcScreenCaptureType.SCREEN;
308
- var appWindow = allApplicationWindows.find(function (app) {
309
- return app.id === currentShareId;
310
- });
311
307
  var nearDisplay = window.runtime.screen.getDisplayNearestPoint(currentShareBounds);
312
308
  var dataStruct = {
313
309
  bounds: {
@@ -322,24 +318,6 @@ function getCurrentSharingWorkArea(params) {
322
318
  },
323
319
  scaleFactor: 1
324
320
  };
325
- var matchBounds = function matchBounds() {
326
- return displays.find(function (display) {
327
- var x = currentShareBounds.x,
328
- y = currentShareBounds.y;
329
- var bounds = display.bounds,
330
- scaleFactor = display.scaleFactor;
331
- var cx = x > 0 ? Math.round(x / scaleFactor) : Math.floor(x / scaleFactor);
332
- var cy = y > 0 ? Math.round(y / scaleFactor) : Math.floor(y / scaleFactor);
333
- var matchBounds = [cx, x].includes(bounds.x) && [cy, y].includes(bounds.y);
334
- return matchBounds;
335
- });
336
- };
337
- var matchIdOrIndex = function matchIdOrIndex() {
338
- return displays.find(function (display, index) {
339
- var id = (0, _platform.isWindows)() ? index : display.id;
340
- return id === Number(currentShareId);
341
- });
342
- };
343
321
  var _ref5 = nearDisplay || dataStruct,
344
322
  _ref5$bounds = _ref5.bounds,
345
323
  x = _ref5$bounds.x,
@@ -359,4 +337,38 @@ function getCurrentSharingWorkArea(params) {
359
337
  // 此算法能确保显示器在不同的上下排列和主次组合时,获取到的偏移值始终正确。
360
338
  scaleFactor: scaleFactor
361
339
  };
362
- }
340
+ }
341
+ function followCorrectDisplay(dailogKey) {
342
+ var extraRefControlbarCondition = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
343
+ if (!(0, _env.isElectron)()) return;
344
+ var objectDialog = Array.isArray(dailogKey) ? dailogKey.map(function (dialog) {
345
+ return _dialogs.dialogWindows.get(dialog);
346
+ }) : _dialogs.dialogWindows.get(dailogKey);
347
+ var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
348
+ // 按当前的窗口管理方式,在关闭 controlbar 的时候,controlbar 实际上是隐藏了自己,所以,依然能够通过 controlbar 访问到,所以需要判断是否是 visible 状态
349
+ var followControlbar = controlbar && (extraRefControlbarCondition || controlbar.isVisible());
350
+ // 屏幕抢占时,需要判断是否是抢占屏幕,决定是取 controlbar 的位置计算热区,还是走原有逻辑,此类条件通过 extraRefControlbarCondition 传入
351
+ var nearestPoint = followControlbar ? controlbar === null || controlbar === void 0 ? void 0 : controlbar.getBounds() : window.runtime.browserWindow.getBounds();
352
+ var nearDisplay = window.runtime.screen.getDisplayNearestPoint(nearestPoint);
353
+ var nearDisplayBounds = nearDisplay.bounds;
354
+ var bounds = {
355
+ x: Math.floor(nearDisplayBounds.x),
356
+ y: Math.floor(nearDisplayBounds.y),
357
+ width: Math.floor(nearDisplayBounds.width),
358
+ height: Math.floor(nearDisplayBounds.height)
359
+ };
360
+ Array.isArray(objectDialog) ? objectDialog.forEach(function (dialog) {
361
+ return dialog === null || dialog === void 0 ? void 0 : dialog.setBounds(bounds);
362
+ }) : objectDialog === null || objectDialog === void 0 ? void 0 : objectDialog.setBounds(bounds);
363
+ return {
364
+ bounds: bounds,
365
+ nearDisplay: nearDisplay
366
+ };
367
+ }
368
+ var getBrowserLanguage = exports.getBrowserLanguage = function getBrowserLanguage() {
369
+ var usrlang = navigator.language;
370
+ if (usrlang.startsWith('zh')) {
371
+ return 'zh';
372
+ }
373
+ return 'en';
374
+ };
@@ -1,3 +1,9 @@
1
+ import { FcrUIResource } from '../type';
1
2
  export declare const BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST: string[];
2
3
  export declare const BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST: string[];
3
4
  export declare const BUILTIN_SOUND_EFFECT_URL_LIST: string[];
5
+ export declare const getNormalDownloadResources: (customResource?: FcrUIResource) => {
6
+ virtualBackgroundImages: string[];
7
+ virtualBackgroundVideos: string[];
8
+ soundEffectAudios: string[];
9
+ };
@@ -1,14 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
- exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = void 0;
8
+ exports.getNormalDownloadResources = exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = void 0;
9
+ require("core-js/modules/es.array.concat.js");
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ // Asset types:
12
+ // Electron
13
+ // 1. Built-in assets: packaged with the app, no need to download
14
+ // 2. Built-in asset URLs: which will be downloaded when the app starts
15
+ // 3. User-defined assets: which will be downloaded when the app starts
16
+ // Browser
17
+ // 1. User-defined assets: asset URLs need to be in the same domain as the app
18
+
8
19
  var BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = [
9
- // electron zip
10
- 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/virtual_background_images.zip'
11
- // browser png
20
+ // Built-in assets URL
21
+ // 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/virtual_background_images.zip',
22
+ 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/virtual_background_images_202505231623.zip'
23
+
24
+ // in browser, images need to be in the same domain as the app
12
25
  // 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default1.jpg',
13
26
  // 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default2.jpg',
14
27
  // 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default3.jpg',
@@ -18,12 +31,37 @@ var BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROU
18
31
  // 'https://solutions-apaas.agora.io/fcr-ui-scene/picture/common/default7.jpg',
19
32
  ];
20
33
  var BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = exports.BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST = [
21
- // electron zip
22
- 'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/virtual_background_videos.zip'
23
- // browser png
34
+ // Built-in assets URL
35
+ 'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/virtual_background_videos_202505231623.zip'
36
+ // in browser, videos need to be in the same domain as the app
24
37
  // 'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/default8.mp4',
25
38
  // 'https://solutions-apaas.agora.io/fcr-ui-scene/video/common/default9.mp4',
26
39
  ];
27
- var BUILTIN_SOUND_EFFECT_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = ['https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/sound_effect_audios.zip',
40
+ var BUILTIN_SOUND_EFFECT_URL_LIST = exports.BUILTIN_SOUND_EFFECT_URL_LIST = [
41
+ // Built-in assets URL
42
+ 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/sound_effect_audios.zip'
43
+
28
44
  // browser mp3
29
- 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/remote_user_joined.mp3', 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/speaker_test.mp3', 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/recording_started.mp3'];
45
+ // 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/remote_user_joined.mp3',
46
+ // 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/speaker_test.mp3',
47
+ // 'https://solutions-apaas.agora.io/fcr-ui-scene/audio/common/recording_started.mp3',
48
+ ];
49
+ var getNormalDownloadResources = exports.getNormalDownloadResources = function getNormalDownloadResources(customResource) {
50
+ var _ref = customResource !== null && customResource !== void 0 ? customResource : {
51
+ virtualBackgroundImages: [],
52
+ virtualBackgroundVideos: [],
53
+ soundEffectAudios: []
54
+ },
55
+ _ref$virtualBackgroun = _ref.virtualBackgroundImages,
56
+ virtualBackgroundImages = _ref$virtualBackgroun === void 0 ? [] : _ref$virtualBackgroun,
57
+ _ref$virtualBackgroun2 = _ref.virtualBackgroundVideos,
58
+ virtualBackgroundVideos = _ref$virtualBackgroun2 === void 0 ? [] : _ref$virtualBackgroun2,
59
+ _ref$soundEffectAudio = _ref.soundEffectAudios,
60
+ soundEffectAudios = _ref$soundEffectAudio === void 0 ? [] : _ref$soundEffectAudio;
61
+ var uiResources = {
62
+ virtualBackgroundImages: [].concat(BUILTIN_VIRTUAL_BACKGROUND_IMAGE_URL_LIST, (0, _toConsumableArray2["default"])(virtualBackgroundImages)),
63
+ virtualBackgroundVideos: [].concat(BUILTIN_VIRTUAL_BACKGROUND_VIDEO_URL_LIST, (0, _toConsumableArray2["default"])(virtualBackgroundVideos)),
64
+ soundEffectAudios: [].concat(BUILTIN_SOUND_EFFECT_URL_LIST, (0, _toConsumableArray2["default"])(soundEffectAudios))
65
+ };
66
+ return uiResources;
67
+ };
@@ -8,14 +8,14 @@ export interface FcrUIWaitingRoomControlManagerObserver {
8
8
  export default class FcrUIWaitingRoomControlManager {
9
9
  private _sceneConfig;
10
10
  private _engine;
11
+ private _mainRoomControl;
11
12
  protected logger: import("agora-foundation/lib/logger").Logger;
12
13
  private _observable;
13
14
  private _waitingRoomControl;
14
- private _mainRoomControl?;
15
15
  private _isJoining;
16
- constructor(_sceneConfig: FcrUISceneConfig, _engine: FcrCoreEngine);
17
- joinWaitingRoom(): void;
18
- leaveWaitingRoom(): void;
16
+ private _mainRoomUserObserver;
17
+ constructor(_sceneConfig: FcrUISceneConfig, _engine: FcrCoreEngine, _mainRoomControl: FcrMainRoomControl);
18
+ private _isWaitingRoomManager;
19
19
  private _createAndJoinWaitingRoom;
20
20
  private _leaveWaitingRoom;
21
21
  private _getMainRoomControlInfo;
@@ -36,7 +36,8 @@ var _logger = require("./utilities/logger");
36
36
  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; }
37
37
  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; }
38
38
  var FcrUIWaitingRoomControlManager = exports["default"] = /*#__PURE__*/function () {
39
- function FcrUIWaitingRoomControlManager(_sceneConfig, _engine) {
39
+ function FcrUIWaitingRoomControlManager(_sceneConfig, _engine, _mainRoomControl) {
40
+ var _this = this;
40
41
  (0, _classCallCheck2["default"])(this, FcrUIWaitingRoomControlManager);
41
42
  (0, _defineProperty2["default"])(this, "logger", (0, _logger.createLogger)({
42
43
  prefix: 'FcrUIWaitingRoomControlManagerObserver'
@@ -44,18 +45,36 @@ var FcrUIWaitingRoomControlManager = exports["default"] = /*#__PURE__*/function
44
45
  (0, _defineProperty2["default"])(this, "_observable", new _imports.AgoraObservable());
45
46
  (0, _defineProperty2["default"])(this, "_waitingRoomControl", null);
46
47
  (0, _defineProperty2["default"])(this, "_isJoining", false);
48
+ (0, _defineProperty2["default"])(this, "_mainRoomUserObserver", {
49
+ onUserInfoUpdated: function onUserInfoUpdated(roomId, event) {
50
+ var isLocalUserInfoUpdated = event.modifiedUser.userId === _this._mainRoomControl.getUserControl().getLocalUser().userId;
51
+
52
+ // 权限变更的时候
53
+ if (isLocalUserInfoUpdated) {
54
+ _this._sceneConfig.userRole = event.modifiedUser.userRole;
55
+ var isWaitingRoomManager = _this._isWaitingRoomManager();
56
+ if (isWaitingRoomManager) {
57
+ _this._createAndJoinWaitingRoom();
58
+ } else {
59
+ _this._leaveWaitingRoom();
60
+ }
61
+ }
62
+ }
63
+ });
47
64
  this._sceneConfig = _sceneConfig;
48
65
  this._engine = _engine;
49
- }
50
- return (0, _createClass2["default"])(FcrUIWaitingRoomControlManager, [{
51
- key: "joinWaitingRoom",
52
- value: function joinWaitingRoom() {
66
+ this._mainRoomControl = _mainRoomControl;
67
+ this._mainRoomControl.getUserControl().addObserver(this._mainRoomUserObserver);
68
+ var _isWaitingRoomManager = this._isWaitingRoomManager();
69
+ if (_isWaitingRoomManager) {
53
70
  this._createAndJoinWaitingRoom();
54
71
  }
55
- }, {
56
- key: "leaveWaitingRoom",
57
- value: function leaveWaitingRoom() {
58
- this._leaveWaitingRoom();
72
+ }
73
+ return (0, _createClass2["default"])(FcrUIWaitingRoomControlManager, [{
74
+ key: "_isWaitingRoomManager",
75
+ value: function _isWaitingRoomManager() {
76
+ var isWaitingRoomManager = this._mainRoomControl.getPrivilegeControl().getLocalUserPermissionInfo(_type2.FcrPermissionAction.WaitingRoomOpen).enable;
77
+ return isWaitingRoomManager;
59
78
  }
60
79
  }, {
61
80
  key: "_createAndJoinWaitingRoom",
@@ -205,6 +224,7 @@ var FcrUIWaitingRoomControlManager = exports["default"] = /*#__PURE__*/function
205
224
  value: function release() {
206
225
  if (this._waitingRoomControl) {
207
226
  this._leaveWaitingRoom();
227
+ this._mainRoomControl.getUserControl().removeObserver(this._mainRoomUserObserver);
208
228
  this._waitingRoomControl = null;
209
229
  }
210
230
  }