fcr-ui-scene 3.5.1 → 3.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) 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 +145 -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 +39 -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/board/index.js +0 -2
  22. package/lib/modules/action-bar/components/breakout-room/index.js +0 -2
  23. package/lib/modules/action-bar/components/item/index.d.ts +2 -0
  24. package/lib/modules/action-bar/components/item/index.js +4 -2
  25. package/lib/modules/action-bar/components/leave/index.js +2 -12
  26. package/lib/modules/action-bar/components/more/index.js +1 -0
  27. package/lib/modules/action-bar/components/more/poppover-content.js +6 -9
  28. package/lib/modules/action-bar/components/participants/index.js +1 -9
  29. package/lib/modules/action-bar/components/record/index.js +43 -106
  30. package/lib/modules/action-bar/components/record/popover.d.ts +4 -0
  31. package/lib/modules/action-bar/components/record/popover.js +57 -0
  32. package/lib/modules/action-bar/components/record/stop-record-dialog.js +1 -0
  33. package/lib/modules/action-bar/components/screen-share/index.js +11 -3
  34. package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
  35. package/lib/modules/action-bar/components/security/index.js +2 -1
  36. package/lib/modules/action-bar/components/smaller/index.js +1 -1
  37. package/lib/modules/action-bar/components/trigger-output-language/index.js +17 -22
  38. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +2 -1
  39. package/lib/modules/action-bar/index.css +3 -2
  40. package/lib/modules/action-bar/index.js +2 -1
  41. package/lib/modules/action-bar/store.d.ts +5 -2
  42. package/lib/modules/action-bar/store.js +34 -22
  43. package/lib/modules/action-bar/types.d.ts +1 -0
  44. package/lib/modules/action-bar/view.js +1 -1
  45. package/lib/modules/audio-stream/index.js +4 -4
  46. package/lib/modules/chat/chat-room-store.js +4 -5
  47. package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
  48. package/lib/modules/chat/components/chat-bar/index.js +5 -3
  49. package/lib/modules/chat/components/chat-select/select-item/index.js +1 -1
  50. package/lib/modules/chat/components/message-list/index.js +1 -2
  51. package/lib/modules/chat/components/message-list/message-item/index.d.ts +0 -1
  52. package/lib/modules/chat/components/message-list/message-item/index.js +9 -10
  53. package/lib/modules/chat/index.css +24 -0
  54. package/lib/modules/chat/view.js +13 -3
  55. package/lib/modules/components/device-control/components/carmera/index.js +4 -5
  56. package/lib/modules/components/device-control/components/microphone/index.js +4 -5
  57. package/lib/modules/components/device-control/index.css +6 -3
  58. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -4
  59. package/lib/modules/components/leave-meeting/components/index.css +35 -0
  60. package/lib/modules/components/leave-meeting/index.js +1 -0
  61. package/lib/modules/components/leave-meeting/store.js +25 -67
  62. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +3 -2
  63. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +1 -2
  64. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +10 -9
  65. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -2
  66. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +1 -1
  67. package/lib/modules/components/member-window/components/member-actions/index.js +2 -4
  68. package/lib/modules/components/member-window/components/member-actions/libs/index.js +0 -1
  69. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +1 -1
  70. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +4 -16
  71. package/lib/modules/components/member-window/index.css +19 -7
  72. package/lib/modules/components/member-window/index.js +0 -1
  73. package/lib/modules/components/member-window/types.d.ts +1 -1
  74. package/lib/modules/components/security-menu/index.css +2 -2
  75. package/lib/modules/components/security-menu/index.js +80 -28
  76. package/lib/modules/components/tab-frame/index.css +1 -1
  77. package/lib/modules/connection-gateway/components/phone/index.js +1 -1
  78. package/lib/modules/control-bar/components/meeting-details/index.css +1 -1
  79. package/lib/modules/control-bar/components/meeting-details/index.js +15 -9
  80. package/lib/modules/control-bar/components/more-actions/index.js +3 -21
  81. package/lib/modules/control-bar/components/share-state-nav/index.js +4 -20
  82. package/lib/modules/control-bar/index.d.ts +2 -0
  83. package/lib/modules/control-bar/index.js +3 -1
  84. package/lib/modules/control-bar/store.d.ts +12 -3
  85. package/lib/modules/control-bar/store.js +106 -98
  86. package/lib/modules/control-bar/view.js +1 -6
  87. package/lib/modules/device-pretest/audio-preview/speaker-detection.js +1 -1
  88. package/lib/modules/dialog/components/chat/electron.d.ts +1 -3
  89. package/lib/modules/dialog/components/chat/index.js +24 -17
  90. package/lib/modules/dialog/components/confirm-leave-meeting/index.d.ts +6 -0
  91. package/lib/modules/dialog/components/confirm-leave-meeting/index.js +86 -0
  92. package/lib/modules/dialog/components/control-bar/index.d.ts +1 -2
  93. package/lib/modules/dialog/components/control-bar/index.js +5 -17
  94. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  95. package/lib/modules/dialog/components/dialog-container/component/body.js +4 -2
  96. package/lib/modules/dialog/components/dialog-container/index.css +18 -1
  97. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  98. package/lib/modules/dialog/components/dialog-container/index.js +3 -1
  99. package/lib/modules/dialog/components/participant/index.d.ts +0 -1
  100. package/lib/modules/dialog/components/participant/index.js +15 -24
  101. package/lib/modules/dialog/components/pre-setting/electron.d.ts +2 -0
  102. package/lib/modules/dialog/components/pre-setting/electron.js +51 -0
  103. package/lib/modules/dialog/components/pre-setting/index.css +26 -0
  104. package/lib/modules/dialog/components/pre-setting/index.d.ts +6 -0
  105. package/lib/modules/dialog/components/pre-setting/index.js +38 -0
  106. package/lib/modules/dialog/components/pre-setting-container/component/body.d.ts +8 -0
  107. package/lib/modules/dialog/components/pre-setting-container/component/body.js +80 -0
  108. package/lib/modules/dialog/components/pre-setting-container/index.css +82 -0
  109. package/lib/modules/dialog/components/pre-setting-container/index.d.ts +18 -0
  110. package/lib/modules/dialog/components/pre-setting-container/index.js +117 -0
  111. package/lib/modules/dialog/components/rename/index.d.ts +4 -0
  112. package/lib/modules/dialog/components/rename/index.js +72 -0
  113. package/lib/modules/dialog/components/share-screen-selection/index.js +1 -2
  114. package/lib/modules/dialog/components/video-window/index.js +18 -16
  115. package/lib/modules/dialog/components/widget/electron.d.ts +2 -1
  116. package/lib/modules/dialog/components/widget/electron.js +3 -2
  117. package/lib/modules/dialog/components/widget/index.d.ts +2 -1
  118. package/lib/modules/dialog/components/widget/index.js +4 -6
  119. package/lib/modules/dialog/dialogs.d.ts +1 -0
  120. package/lib/modules/dialog/dialogs.js +3 -2
  121. package/lib/modules/dialog/hooks/useElectron.d.ts +2 -0
  122. package/lib/modules/dialog/hooks/useElectron.js +22 -101
  123. package/lib/modules/dialog/index.d.ts +2 -0
  124. package/lib/modules/dialog/index.js +2 -2
  125. package/lib/modules/dialog/store.d.ts +8 -3
  126. package/lib/modules/dialog/store.js +38 -26
  127. package/lib/modules/dialog/type.d.ts +1 -0
  128. package/lib/modules/dialog/view.js +2 -1
  129. package/lib/modules/event-confirm/index.d.ts +2 -0
  130. package/lib/modules/event-confirm/index.js +2 -1
  131. package/lib/modules/event-confirm/store.d.ts +9 -1
  132. package/lib/modules/event-confirm/store.js +100 -8
  133. package/lib/modules/event-confirm/view.js +55 -46
  134. package/lib/modules/{sound-effect → event-sound}/index.d.ts +3 -2
  135. package/lib/modules/{sound-effect → event-sound}/index.js +9 -5
  136. package/lib/modules/event-toast/store.js +6 -1
  137. package/lib/modules/interpreter/dialog-content/index.js +4 -1
  138. package/lib/modules/interpreter/index.d.ts +2 -0
  139. package/lib/modules/interpreter/index.js +2 -1
  140. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -0
  141. package/lib/modules/interpreter/store.d.ts +2 -2
  142. package/lib/modules/interpreter/store.js +30 -24
  143. package/lib/modules/interpreter/type.d.ts +2 -0
  144. package/lib/modules/invite/components/pstn-invite.js +2 -25
  145. package/lib/modules/invite/components/voip-invite.css +26 -0
  146. package/lib/modules/invite/components/voip-invite.d.ts +1 -0
  147. package/lib/modules/invite/components/voip-invite.js +8 -11
  148. package/lib/modules/invite/index.css +16 -3
  149. package/lib/modules/invite/index.d.ts +2 -1
  150. package/lib/modules/invite/index.js +2 -1
  151. package/lib/modules/invite/store.d.ts +5 -1
  152. package/lib/modules/invite/store.js +8 -1
  153. package/lib/modules/layout/components/Aside.js +0 -1
  154. package/lib/modules/layout/components/Carousel.d.ts +1 -1
  155. package/lib/modules/layout/components/Carousel.js +16 -118
  156. package/lib/modules/layout/components/CommonVideoRenderer.d.ts +13 -0
  157. package/lib/modules/layout/components/CommonVideoRenderer.js +214 -0
  158. package/lib/modules/layout/components/Gallery.d.ts +1 -0
  159. package/lib/modules/layout/components/Gallery.js +62 -205
  160. package/lib/modules/layout/components/index.css +17 -34
  161. package/lib/modules/layout/index.d.ts +2 -0
  162. package/lib/modules/layout/index.js +2 -1
  163. package/lib/modules/layout/store.d.ts +5 -2
  164. package/lib/modules/layout/store.js +53 -39
  165. package/lib/modules/layout/type.d.ts +4 -0
  166. package/lib/modules/layout/type.js +6 -1
  167. package/lib/modules/live-streaming/store.d.ts +1 -0
  168. package/lib/modules/live-streaming/store.js +19 -8
  169. package/lib/modules/participant/components/confirm-input/index.d.ts +4 -4
  170. package/lib/modules/participant/components/confirm-input/index.js +74 -6
  171. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +27 -3
  172. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +4 -0
  173. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +3 -4
  174. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +4 -3
  175. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +1 -0
  176. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +9 -1
  177. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +1 -1
  178. package/lib/modules/participant/components/participants/components/participants/index.css +1 -0
  179. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +18 -0
  180. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +12 -5
  181. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +1 -8
  182. package/lib/modules/participant/index.css +6 -0
  183. package/lib/modules/participant/index.d.ts +1 -0
  184. package/lib/modules/participant/index.js +9 -0
  185. package/lib/modules/participant/store.d.ts +6 -0
  186. package/lib/modules/participant/store.js +130 -96
  187. package/lib/modules/pc-audio-connect/store.js +3 -2
  188. package/lib/modules/phone-audio-connect/index.d.ts +2 -0
  189. package/lib/modules/phone-audio-connect/index.js +2 -1
  190. package/lib/modules/phone-audio-connect/store.d.ts +4 -1
  191. package/lib/modules/phone-audio-connect/store.js +4 -2
  192. package/lib/modules/setting/audio-settings/audio-settings.js +70 -48
  193. package/lib/modules/setting/audio-settings/index.css +23 -6
  194. package/lib/modules/setting/general-settings/general-settings.d.ts +1 -2
  195. package/lib/modules/setting/general-settings/general-settings.js +111 -37
  196. package/lib/modules/setting/general-settings/index.css +15 -0
  197. package/lib/modules/setting/index.d.ts +4 -1
  198. package/lib/modules/setting/index.js +7 -4
  199. package/lib/modules/setting/state/index.js +1 -1
  200. package/lib/modules/setting/store.d.ts +24 -11
  201. package/lib/modules/setting/store.js +203 -142
  202. package/lib/modules/setting/video-settings/index.css +13 -2
  203. package/lib/modules/setting/video-settings/video-settings-basic.js +18 -27
  204. package/lib/modules/setting/video-settings/video-settings.d.ts +0 -2
  205. package/lib/modules/setting/video-settings/video-settings.js +3 -2
  206. package/lib/modules/setting/view.d.ts +11 -2
  207. package/lib/modules/setting/view.js +93 -71
  208. package/lib/modules/share-screen/components/selection/index.js +6 -2
  209. package/lib/modules/share-screen/index.d.ts +4 -1
  210. package/lib/modules/share-screen/index.js +3 -1
  211. package/lib/modules/share-screen/store.d.ts +15 -5
  212. package/lib/modules/share-screen/store.js +105 -59
  213. package/lib/modules/share-screen/view.js +1 -1
  214. package/lib/modules/state-bar/index.css +4 -2
  215. package/lib/modules/state-bar/index.d.ts +2 -0
  216. package/lib/modules/state-bar/index.js +2 -1
  217. package/lib/modules/state-bar/layout-config.js +1 -0
  218. package/lib/modules/state-bar/live-streaming-state.js +1 -0
  219. package/lib/modules/state-bar/meeting-detail.css +10 -1
  220. package/lib/modules/state-bar/meeting-details.js +35 -25
  221. package/lib/modules/state-bar/meeting-network-state.css +8 -0
  222. package/lib/modules/state-bar/meeting-time.js +9 -20
  223. package/lib/modules/state-bar/store.d.ts +5 -1
  224. package/lib/modules/state-bar/store.js +10 -3
  225. package/lib/modules/state-bar/view.js +17 -6
  226. package/lib/modules/video-window/components/members/index.js +0 -3
  227. package/lib/modules/waiting-room-layout/index.css +13 -0
  228. package/lib/modules/waiting-room-layout/index.d.ts +2 -1
  229. package/lib/modules/waiting-room-layout/index.js +2 -1
  230. package/lib/modules/waiting-room-layout/store.d.ts +12 -1
  231. package/lib/modules/waiting-room-layout/store.js +42 -6
  232. package/lib/modules/waiting-room-layout/view.js +22 -5
  233. package/lib/modules/whiteboard/components/control-bar/index.css +1 -1
  234. package/lib/modules/whiteboard/components/control-bar/index.js +0 -2
  235. package/lib/modules/whiteboard/components/scene-pagination.js +0 -2
  236. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +1 -1
  237. package/lib/modules/whiteboard/components/switch-theme/libs.js +3 -1
  238. package/lib/modules/whiteboard/components/toolbar/ style.css +1 -0
  239. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +1 -2
  240. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +1 -0
  241. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +1 -0
  242. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +3 -14
  243. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.d.ts +1 -0
  244. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +83 -0
  245. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +2 -2
  246. package/lib/modules/whiteboard/components/toolbar/components/history.js +3 -3
  247. package/lib/modules/whiteboard/components/toolbar/components/item/index.d.ts +1 -0
  248. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +42 -0
  249. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -2
  250. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +2 -2
  251. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +3 -3
  252. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +6 -6
  253. package/lib/modules/whiteboard/components/toolbar/index.js +9 -113
  254. package/lib/modules/whiteboard/components/toolbar/store.d.ts +18 -0
  255. package/lib/modules/whiteboard/components/toolbar/store.js +276 -83
  256. package/lib/modules/whiteboard/context.d.ts +1 -2
  257. package/lib/modules/whiteboard/index.d.ts +1 -14
  258. package/lib/modules/whiteboard/index.js +131 -426
  259. package/lib/modules/whiteboard/view.js +12 -10
  260. package/lib/modules/widget/sdk.js +2 -2
  261. package/lib/object-manager.d.ts +8 -0
  262. package/lib/object-manager.js +75 -0
  263. package/lib/plugins/browser-runtime-plugin.js +19 -14
  264. package/lib/providers/ability-provider.d.ts +8 -0
  265. package/lib/providers/ability-provider.js +14 -0
  266. package/lib/providers/device-privilege-provider.d.ts +1 -0
  267. package/lib/providers/device-privilege-provider.js +53 -75
  268. package/lib/providers/device-provider.d.ts +18 -8
  269. package/lib/providers/device-provider.js +378 -206
  270. package/lib/providers/device-stream-provider.js +0 -4
  271. package/lib/providers/dialog-provider.d.ts +1 -0
  272. package/lib/providers/dialog-provider.js +4 -18
  273. package/lib/providers/event-provider.js +45 -2
  274. package/lib/providers/interpreter-provider.d.ts +4 -0
  275. package/lib/providers/interpreter-provider.js +166 -137
  276. package/lib/providers/message-provider.js +44 -2
  277. package/lib/providers/privilege-provider.d.ts +33 -0
  278. package/lib/providers/privilege-provider.js +120 -45
  279. package/lib/providers/room-provider.d.ts +12 -10
  280. package/lib/providers/room-provider.js +162 -262
  281. package/lib/providers/screen-share-provider.d.ts +4 -0
  282. package/lib/providers/screen-share-provider.js +3 -6
  283. package/lib/providers/widget-provider.js +6 -4
  284. package/lib/runtime.d.ts +20 -8
  285. package/lib/scenes/main-scene.d.ts +2 -0
  286. package/lib/scenes/main-scene.js +95 -37
  287. package/lib/scenes/waiting-scene.js +16 -13
  288. package/lib/schema.d.ts +55 -32
  289. package/lib/schema.js +23 -9
  290. package/lib/shared-data-source/config.d.ts +6 -2
  291. package/lib/shared-data-source/config.js +81 -10
  292. package/lib/shared-data-source/meeting-time.js +2 -2
  293. package/lib/shared-data-source/member-data.d.ts +16 -20
  294. package/lib/shared-data-source/member-data.js +121 -110
  295. package/lib/shared-data-source/screen-share-data-source.d.ts +37 -0
  296. package/lib/shared-data-source/screen-share-data-source.js +134 -0
  297. package/lib/shared-data-source/security-data.d.ts +1 -0
  298. package/lib/shared-data-source/security-data.js +3 -5
  299. package/lib/shared-data-source/setting.d.ts +1 -0
  300. package/lib/shared-data-source/setting.js +33 -17
  301. package/lib/shared-data-source/video-window.d.ts +3 -4
  302. package/lib/shared-data-source/video-window.js +58 -48
  303. package/lib/translations/enUS.d.ts +48 -1
  304. package/lib/translations/enUS.js +101 -17
  305. package/lib/translations/zhCN.d.ts +48 -1
  306. package/lib/translations/zhCN.js +88 -4
  307. package/lib/type.d.ts +40 -20
  308. package/lib/type.js +14 -1
  309. package/lib/ui-manager.d.ts +11 -9
  310. package/lib/ui-manager.js +118 -29
  311. package/lib/ui-scene.d.ts +7 -4
  312. package/lib/ui-scene.js +111 -130
  313. package/lib/utilities/constant.d.ts +3 -1
  314. package/lib/utilities/constant.js +2 -0
  315. package/lib/utilities/copyText.js +15 -11
  316. package/lib/utilities/default-config.d.ts +2 -0
  317. package/lib/utilities/default-config.js +11 -5
  318. package/lib/utilities/i18n-common-data.d.ts +2 -0
  319. package/lib/utilities/i18n-common-data.js +15 -0
  320. package/lib/utilities/logger.d.ts +0 -1
  321. package/lib/utilities/logger.js +3 -4
  322. package/lib/utilities/renderer.d.ts +0 -9
  323. package/lib/utilities/renderer.js +1 -70
  324. package/lib/utilities/screen.js +3 -1
  325. package/lib/utilities/setting-config-storage.d.ts +6 -1
  326. package/lib/utilities/setting-config-storage.js +21 -4
  327. package/lib/utilities/tools.d.ts +30 -6
  328. package/lib/utilities/tools.js +74 -44
  329. package/lib/utilities/ui-resources.d.ts +6 -0
  330. package/lib/utilities/ui-resources.js +47 -9
  331. package/lib/waiting-room-control-manager.d.ts +4 -4
  332. package/lib/waiting-room-control-manager.js +29 -9
  333. package/package.json +6 -6
  334. package/public/assets/browser/images/default1.jpg +0 -0
  335. package/public/assets/browser/images/default2.jpg +0 -0
  336. package/public/assets/browser/images/default3.jpg +0 -0
  337. package/public/assets/browser/images/default4.jpg +0 -0
  338. package/public/assets/browser/images/default5.jpg +0 -0
  339. package/public/assets/browser/images/default6.jpg +0 -0
  340. package/public/assets/browser/images/default7.jpg +0 -0
  341. package/public/assets/browser/sound_effects/pretest.mp3 +0 -0
  342. package/public/assets/browser/sound_effects/recording_started.mp3 +0 -0
  343. package/public/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  344. package/public/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  345. package/public/assets/browser/videos/default8.mp4 +0 -0
  346. package/public/assets/browser/videos/default9.mp4 +0 -0
  347. package/public/assets/electron/images/default1.jpg +0 -0
  348. package/public/assets/electron/images/default2.jpg +0 -0
  349. package/public/assets/electron/sound_effects/pretest.mp3 +0 -0
  350. package/public/assets/electron/videos/default8.mp4 +0 -0
  351. package/public/index.html +103 -82
  352. package/lib/hooks/meeting-time.d.ts +0 -15
  353. package/lib/hooks/meeting-time.js +0 -92
  354. package/lib/login-confirm-dialog.d.ts +0 -13
  355. package/lib/login-confirm-dialog.js +0 -85
  356. package/lib/modules/action-bar/components/apps/appitems.d.ts +0 -3
  357. package/lib/modules/action-bar/components/apps/appitems.js +0 -45
  358. package/lib/modules/components/member-window/components/member-board.d.ts +0 -2
  359. package/lib/modules/components/member-window/components/member-board.js +0 -63
  360. package/lib/modules/dialog/components/system-preference/bg1.png +0 -0
  361. package/lib/modules/dialog/components/system-preference/bg2.png +0 -0
  362. package/lib/modules/dialog/types/index.d.ts +0 -70
  363. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +0 -6
  364. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +0 -28
  365. package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +0 -7
  366. package/lib/modules/participant/components/attendee/components/user-avatar/index.js +0 -39
  367. package/lib/modules/participant/components/attendee/index.css +0 -69
  368. package/lib/modules/participant/components/attendee/index.d.ts +0 -4
  369. package/lib/modules/participant/components/attendee/index.js +0 -337
  370. package/lib/modules/participant/components/drop-menu/index.css +0 -60
  371. package/lib/modules/participant/components/drop-menu/index.d.ts +0 -2
  372. package/lib/modules/participant/components/drop-menu/index.js +0 -189
  373. package/lib/modules/participant/components/footer/buttons.d.ts +0 -6
  374. package/lib/modules/participant/components/footer/buttons.js +0 -52
  375. package/lib/modules/participant/components/footer/index.d.ts +0 -4
  376. package/lib/modules/participant/components/footer/index.js +0 -37
  377. package/lib/modules/participant/components/merge/index.d.ts +0 -11
  378. package/lib/modules/participant/components/merge/index.js +0 -49
  379. package/lib/modules/participant/components/rename/index.d.ts +0 -4
  380. package/lib/modules/participant/components/rename/index.js +0 -45
  381. package/lib/modules/participant/components/user-action/index.d.ts +0 -17
  382. package/lib/modules/participant/components/user-action/index.js +0 -169
  383. package/lib/modules/video-window/deviceState/index.d.ts +0 -16
  384. package/lib/modules/video-window/deviceState/index.js +0 -75
  385. package/lib/modules/video-window/members/index.css +0 -51
  386. package/lib/modules/video-window/members/index.d.ts +0 -2
  387. package/lib/modules/video-window/members/index.js +0 -157
  388. package/lib/modules/video-window/speaking/index.css +0 -69
  389. package/lib/modules/video-window/speaking/index.d.ts +0 -3
  390. package/lib/modules/video-window/speaking/index.js +0 -57
  391. package/lib/modules/video-window/topControl/index.css +0 -35
  392. package/lib/modules/video-window/topControl/index.d.ts +0 -3
  393. package/lib/modules/video-window/topControl/index.js +0 -92
  394. /package/lib/modules/{sound-effect → event-sound}/sound-effect-player.d.ts +0 -0
  395. /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,34 @@ 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({ browserWindow, dialogKey, extraRefControlbarCondition, follow, alwaysFollowScreen, }: {
66
+ /**
67
+ * browserWindow 是 Electron 的窗口对象,如果传入,则直接设置 bounds,否则会根据 dialogKey 设置 bounds
68
+ */
69
+ browserWindow?: Electron.BrowserWindow;
70
+ /**
71
+ * 如果不使用 browserWindow ,则需要传入 dialogKey 设置 bounds,如果 browserWindow 和 dialogKey 都未传入,则抛出错误
72
+ */
73
+ dialogKey?: FcrUIDialogKey | FcrUIDialogKey[];
74
+ /**
75
+ * 始终 follow control bar 的位置,默认是 true
76
+ */
77
+ extraRefControlbarCondition?: boolean;
78
+ /**
79
+ * 根据屏幕或者应用主窗口居中显示,默认是 screen,如果需要跟随主窗口,则设置为 main-window,
80
+ * 在屏幕共享时,普通 dialog 窗口会以 controlbar 所在的屏幕为基准水平居中对齐
81
+ * 在非屏幕共享状态下,则会以主窗口为基准水平居中对齐
82
+ */
83
+ follow?: 'screen' | 'main-window';
84
+ /**
85
+ * 是否是全屏幕覆盖的透明窗口, 此设置主要针对 toast 和 confirm 弹窗
86
+ */
87
+ alwaysFollowScreen?: boolean;
88
+ }): {
89
+ nearDisplayBounds: CurrentShareBounds;
90
+ nearDisplay: Electron.Display;
91
+ } | undefined;
92
+ export declare const getBrowserLanguage: () => "zh" | "en";
69
93
  export {};
@@ -5,17 +5,21 @@ 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"));
17
+ require("core-js/modules/es.error.cause.js");
18
+ require("core-js/modules/es.error.to-string.js");
15
19
  require("core-js/modules/es.array.concat.js");
16
- require("core-js/modules/es.array.find.js");
17
20
  require("core-js/modules/es.array.for-each.js");
18
- require("core-js/modules/es.array.includes.js");
21
+ require("core-js/modules/es.array.is-array.js");
22
+ require("core-js/modules/es.array.map.js");
19
23
  require("core-js/modules/es.array.reduce.js");
20
24
  require("core-js/modules/es.array.slice.js");
21
25
  require("core-js/modules/es.date.now.js");
@@ -26,15 +30,15 @@ require("core-js/modules/es.promise.js");
26
30
  require("core-js/modules/es.regexp.exec.js");
27
31
  require("core-js/modules/es.regexp.test.js");
28
32
  require("core-js/modules/es.string.ends-with.js");
29
- require("core-js/modules/es.string.includes.js");
30
33
  require("core-js/modules/es.string.match.js");
31
34
  require("core-js/modules/es.string.replace.js");
32
- require("core-js/modules/esnext.async-iterator.find.js");
35
+ require("core-js/modules/es.string.starts-with.js");
33
36
  require("core-js/modules/esnext.async-iterator.for-each.js");
37
+ require("core-js/modules/esnext.async-iterator.map.js");
34
38
  require("core-js/modules/esnext.async-iterator.reduce.js");
35
39
  require("core-js/modules/esnext.iterator.constructor.js");
36
- require("core-js/modules/esnext.iterator.find.js");
37
40
  require("core-js/modules/esnext.iterator.for-each.js");
41
+ require("core-js/modules/esnext.iterator.map.js");
38
42
  require("core-js/modules/esnext.iterator.reduce.js");
39
43
  require("core-js/modules/web.dom-collections.for-each.js");
40
44
  require("core-js/modules/web.timers.js");
@@ -45,8 +49,8 @@ var _schedule = require("agora-foundation/lib/schedule");
45
49
  var _logger = require("agora-foundation/lib/logger");
46
50
  var _platform = require("./platform");
47
51
  var _constant = require("./constant");
48
- var _type = require("agora-rte-sdk/lib/core/rtc/type");
49
52
  var _env = require("agora-foundation/lib/utilities/env");
53
+ var _dialogs = require("../modules/dialog/dialogs");
50
54
  var uint8ArrayToImageData = exports.uint8ArrayToImageData = function uint8ArrayToImageData(target) {
51
55
  var _target$buffer;
52
56
  if (!target || !(target !== null && target !== void 0 && (_target$buffer = target.buffer) !== null && _target$buffer !== void 0 && _target$buffer.length)) {
@@ -107,9 +111,6 @@ var LocalStorage = /*#__PURE__*/function () {
107
111
  var storage = exports.storage = new LocalStorage();
108
112
  var ASIDE_WIDTH = exports.ASIDE_WIDTH = 'aside_width';
109
113
  var PARTICIPANT_POSITION = exports.PARTICIPANT_POSITION = 'participant_position';
110
- var getAssetUrl = exports.getAssetUrl = function getAssetUrl(path) {
111
- return window.runtime.getAssetUrl(path);
112
- };
113
114
  var convertToFixedNumber = exports.convertToFixedNumber = function convertToFixedNumber(value) {
114
115
  var divisor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;
115
116
  var fractionDigits = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
@@ -122,7 +123,7 @@ var matchVirtualSoundCardPattern = exports.matchVirtualSoundCardPattern = functi
122
123
  return prev;
123
124
  }, false);
124
125
  };
125
- var isResourceZipUrl = exports.isResourceZipUrl = function isResourceZipUrl(url) {
126
+ var isZipUrl = exports.isZipUrl = function isZipUrl(url) {
126
127
  if (!url || typeof url !== 'string') return false;
127
128
  var regex = /^https?:\/\/.+\.(zip)(\?.*)?$/i;
128
129
  return regex.test(url);
@@ -201,10 +202,14 @@ var waitUntil = exports.waitUntil = /*#__PURE__*/function () {
201
202
  return _ref.apply(this, arguments);
202
203
  };
203
204
  }();
205
+ var renderMeetingName = exports.renderMeetingName = function renderMeetingName(meetingName) {
206
+ if (meetingName.length <= 20) return meetingName;
207
+ return meetingName.slice(0, 20) + '...';
208
+ };
204
209
  var renderMeetingId = exports.renderMeetingId = function renderMeetingId(meetingId, roomId) {
205
210
  var renderMeetingId = '';
206
211
  if (meetingId) {
207
- renderMeetingId = meetingId;
212
+ renderMeetingId = meetingId.replace(/(.{3})/g, '$1 ');
208
213
  } else {
209
214
  if (roomId.endsWith('-waiting')) {
210
215
  renderMeetingId = roomId.slice(0, -8).replace(/(.{3})/g, '$1 ');
@@ -285,9 +290,10 @@ function handleCheckMouseOver(params) {
285
290
  var barWrapWithInsideBoundary = mouse_x > bar_x1 && mouse_x < bar_x2 && mouse_y > bar_y1 && mouse_y < bar_y2 - inside_h || barControlBoundary;
286
291
  if (dialog === _constant.FcrUIDialogKey.CONTROL_BAR ? barWrapWithInsideBoundary : barWrapBoundary) {
287
292
  browserWindow.setIgnoreMouseEvents(false);
288
- if (!browserWindow.isFocused()) {
289
- browserWindow.focus();
290
- }
293
+ // 因为当用户点击其他窗口时,鼠标返回热区窗口会自动聚焦返回到上层,经测试这个注释不会影响现有功能,先注释看有没有其它影响
294
+ // if (!browserWindow.isFocused()) {
295
+ // browserWindow.focus();
296
+ // }
291
297
  } else {
292
298
  browserWindow.setIgnoreMouseEvents(true);
293
299
  }
@@ -296,18 +302,10 @@ function handleCheckMouseOver(params) {
296
302
  return timerId;
297
303
  }
298
304
  function getCurrentSharingWorkArea(params) {
299
- var currentShareId = params.currentShareId,
300
- currentShareType = params.currentShareType,
301
- currentShareBounds = params.currentShareBounds,
302
- allApplicationWindows = params.allApplicationWindows;
305
+ var currentShareBounds = params.currentShareBounds;
303
306
  var _window$screen = window.screen,
304
307
  availWidth = _window$screen.availWidth,
305
308
  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
309
  var nearDisplay = window.runtime.screen.getDisplayNearestPoint(currentShareBounds);
312
310
  var dataStruct = {
313
311
  bounds: {
@@ -322,24 +320,6 @@ function getCurrentSharingWorkArea(params) {
322
320
  },
323
321
  scaleFactor: 1
324
322
  };
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
323
  var _ref5 = nearDisplay || dataStruct,
344
324
  _ref5$bounds = _ref5.bounds,
345
325
  x = _ref5$bounds.x,
@@ -359,4 +339,54 @@ function getCurrentSharingWorkArea(params) {
359
339
  // 此算法能确保显示器在不同的上下排列和主次组合时,获取到的偏移值始终正确。
360
340
  scaleFactor: scaleFactor
361
341
  };
362
- }
342
+ }
343
+ function followCorrectDisplay(_ref6) {
344
+ var browserWindow = _ref6.browserWindow,
345
+ dialogKey = _ref6.dialogKey,
346
+ _ref6$extraRefControl = _ref6.extraRefControlbarCondition,
347
+ extraRefControlbarCondition = _ref6$extraRefControl === void 0 ? true : _ref6$extraRefControl,
348
+ _ref6$follow = _ref6.follow,
349
+ follow = _ref6$follow === void 0 ? 'screen' : _ref6$follow,
350
+ _ref6$alwaysFollowScr = _ref6.alwaysFollowScreen,
351
+ alwaysFollowScreen = _ref6$alwaysFollowScr === void 0 ? false : _ref6$alwaysFollowScr;
352
+ if (!(0, _env.isElectron)()) return;
353
+ if (!browserWindow && !dialogKey) throw new Error('browserWindow or dialogKey is required');
354
+ var objectDialog = dialogKey ? Array.isArray(dialogKey) ? dialogKey.map(function (dialog) {
355
+ return _dialogs.dialogWindows.get(dialog);
356
+ }) : _dialogs.dialogWindows.get(dialogKey) : browserWindow;
357
+ var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
358
+ var mainAppWindowBounds = window.runtime.browserWindow.getBounds();
359
+ // 按当前的窗口管理方式,在关闭 controlbar 的时候,controlbar 实际上是隐藏了自己,所以,依然能够通过 controlbar 访问到,所以需要判断是否是 visible 状态
360
+ var followControlbar = controlbar && (extraRefControlbarCondition || controlbar.isVisible());
361
+ // 屏幕抢占时,需要判断是否是抢占屏幕,决定是取 controlbar 所在屏幕计算热区,还是以主窗口所在屏幕计算热区,此类条件通过 extraRefControlbarCondition 传入
362
+ var nearestPoint = followControlbar ? controlbar === null || controlbar === void 0 ? void 0 : controlbar.getBounds() : mainAppWindowBounds;
363
+ var nearDisplay = window.runtime.screen.getDisplayNearestPoint(nearestPoint);
364
+ var nearBounds = nearDisplay.bounds;
365
+ var nearDisplayBounds = {
366
+ x: Math.floor(nearBounds.x),
367
+ y: Math.floor(nearBounds.y),
368
+ width: Math.floor(nearBounds.width),
369
+ height: Math.floor(nearBounds.height)
370
+ };
371
+ var followBounds = function followBounds(theWindowBounds) {
372
+ var targetBounds = follow === 'screen' || extraRefControlbarCondition ? nearBounds : mainAppWindowBounds;
373
+ return alwaysFollowScreen ? nearDisplayBounds : {
374
+ x: Math.floor(targetBounds.x + (targetBounds.width - theWindowBounds.width) / 2),
375
+ y: Math.floor(targetBounds.y + (targetBounds.height - theWindowBounds.height) / 2)
376
+ };
377
+ };
378
+ Array.isArray(objectDialog) ? objectDialog.forEach(function (dialog) {
379
+ return dialog === null || dialog === void 0 ? void 0 : dialog.setBounds(followBounds(dialog.getBounds()));
380
+ }) : objectDialog === null || objectDialog === void 0 ? void 0 : objectDialog.setBounds(followBounds(objectDialog.getBounds()));
381
+ return {
382
+ nearDisplayBounds: nearDisplayBounds,
383
+ nearDisplay: nearDisplay
384
+ };
385
+ }
386
+ var getBrowserLanguage = exports.getBrowserLanguage = function getBrowserLanguage() {
387
+ var usrlang = navigator.language;
388
+ if (usrlang.startsWith('zh')) {
389
+ return 'zh';
390
+ }
391
+ return 'en';
392
+ };
@@ -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;