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
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.array.iterator.js");
4
+ require("core-js/modules/es.object.define-property.js");
5
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
6
+ require("core-js/modules/es.object.to-string.js");
7
+ require("core-js/modules/es.string.iterator.js");
8
+ require("core-js/modules/es.weak-map.js");
9
+ require("core-js/modules/esnext.weak-map.delete-all.js");
10
+ require("core-js/modules/esnext.weak-map.emplace.js");
11
+ require("core-js/modules/web.dom-collections.iterator.js");
12
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
13
+ var _typeof = require("@babel/runtime/helpers/typeof");
14
+ Object.defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports["default"] = exports.DialogContainerStore = void 0;
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+ var _react = _interopRequireWildcard(require("react"));
20
+ var _mobxReact = require("mobx-react");
21
+ var _react2 = require("@use-gesture/react");
22
+ var _env = require("agora-foundation/lib/utilities/env");
23
+ var _body = require("./component/body");
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
26
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
27
+ var DialogContainerStore = exports.DialogContainerStore = /*#__PURE__*/(0, _react.createContext)({});
28
+ var DialogContainer = (0, _mobxReact.observer)(function (props) {
29
+ var width = props.width,
30
+ title = props.title,
31
+ onClose = props.onClose,
32
+ children = props.children,
33
+ dialogKey = props.dialogKey,
34
+ actions = props.actions,
35
+ closeInterception = props.closeInterception,
36
+ dialogId = props.dialogId,
37
+ autoHeight = props.autoHeight;
38
+ // const { closeDialogByKey, closeDilaogByDialogId } = useContext(StoreContext);
39
+
40
+ var handleClose = function handleClose() {
41
+ if (!(closeInterception !== null && closeInterception !== void 0 && closeInterception())) {
42
+ if (dialogId) {
43
+ // closeDilaogByDialogId(dialogId);
44
+ } else {
45
+ // closeDialogByKey(dialogKey);
46
+ }
47
+ onClose === null || onClose === void 0 || onClose();
48
+ }
49
+ };
50
+ var container = /*#__PURE__*/(0, _jsxRuntime.jsx)(_body.DialogContainerBody, {
51
+ title: title,
52
+ onClick: handleClose,
53
+ actions: actions,
54
+ autoHeight: autoHeight,
55
+ children: children
56
+ });
57
+ if ((0, _env.isElectron)()) return container;
58
+ var rndRef = (0, _react.useRef)(null);
59
+ var size = (0, _react.useMemo)(function () {
60
+ var _rndRef$current;
61
+ return {
62
+ width: width || 400,
63
+ height: props.height ? props.height : ((_rndRef$current = rndRef.current) === null || _rndRef$current === void 0 ? void 0 : _rndRef$current.getBoundingClientRect().height) || 160
64
+ };
65
+ }, [props.height]);
66
+ var windowWidth = window.innerWidth;
67
+ var height = window.innerHeight;
68
+ var x = windowWidth / 2 - size.width / 2;
69
+ var y = height / 2 - size.height / 2;
70
+ var windowBounds = {
71
+ x: x,
72
+ y: y,
73
+ width: window.innerWidth,
74
+ height: window.innerHeight
75
+ };
76
+ var _useState = (0, _react.useState)({
77
+ x: x,
78
+ y: y
79
+ }),
80
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
81
+ bounds = _useState2[0],
82
+ setBounds = _useState2[1];
83
+ var bind = (0, _react2.useDrag)(function (_ref) {
84
+ var _ref$delta = (0, _slicedToArray2["default"])(_ref.delta, 2),
85
+ dx = _ref$delta[0],
86
+ dy = _ref$delta[1];
87
+ var x = bounds.x + dx;
88
+ var y = bounds.y + dy;
89
+ var maxX = windowBounds.width - size.width;
90
+ var maxY = windowBounds.height - size.height;
91
+ var coord = {
92
+ x: Math.max(0, Math.min(maxX, x)),
93
+ y: Math.max(0, Math.min(maxY, y))
94
+ };
95
+ setBounds(coord);
96
+ });
97
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
98
+ style: {
99
+ width: size.width,
100
+ height: size.height,
101
+ left: "".concat(bounds.x, "px"),
102
+ top: "".concat(bounds.y, "px"),
103
+ position: 'absolute',
104
+ touchAction: 'none',
105
+ display: 'flex',
106
+ flexDirection: 'column',
107
+ zIndex: 10
108
+ },
109
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DialogContainerStore.Provider, {
110
+ value: {
111
+ bind: bind
112
+ },
113
+ children: container
114
+ })
115
+ });
116
+ });
117
+ var _default = exports["default"] = DialogContainer;
@@ -0,0 +1,4 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ export declare const RenameDialog: FC<PropsWithChildren<{
3
+ title: string;
4
+ }>>;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.RenameDialog = void 0;
9
+ require("core-js/modules/web.timers.js");
10
+ var _i18n = require("agora-ui-foundation/lib/i18n");
11
+ var _env = require("agora-foundation/lib/utilities/env");
12
+ var _constant = require("../../../../utilities/constant");
13
+ var _useElectron = require("../../hooks/useElectron");
14
+ var _dialogContainer = _interopRequireDefault(require("../dialog-container"));
15
+ var _platform = require("../../../../utilities/platform");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var RenameDialog = exports.RenameDialog = function RenameDialog(_ref) {
18
+ var children = _ref.children,
19
+ title = _ref.title;
20
+ var container = /*#__PURE__*/(0, _jsxRuntime.jsx)(_dialogContainer["default"], {
21
+ title: title,
22
+ dialogKey: _constant.FcrUIDialogKey.RENAME,
23
+ width: 320,
24
+ height: 168,
25
+ autoHeight: true,
26
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
27
+ className: "fcr-rename-dialog-content",
28
+ children: children
29
+ })
30
+ });
31
+ if ((0, _env.isElectron)()) {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(RenameElectronDialog, {
33
+ title: title,
34
+ children: container
35
+ });
36
+ }
37
+ return container;
38
+ };
39
+ var RenameElectronDialog = function RenameElectronDialog(_ref2) {
40
+ var children = _ref2.children,
41
+ title = _ref2.title;
42
+ var transI18n = (0, _i18n.useI18n)();
43
+ var config = {
44
+ fullscreen: false,
45
+ maximizable: false,
46
+ width: 320,
47
+ height: 168,
48
+ title: transI18n('fmt_additional_option_rename_in_meeting'),
49
+ resizable: false
50
+ };
51
+ (0, _useElectron.useElectronDialog)({
52
+ dialogKey: _constant.FcrUIDialogKey.RENAME,
53
+ config: config,
54
+ onClose: function onClose(_ref3) {
55
+ var store = _ref3.store;
56
+ store.closeDialogByKey(_constant.FcrUIDialogKey.RENAME);
57
+ },
58
+ onOpened: function onOpened(_ref4) {
59
+ var browserWindow = _ref4.browserWindow;
60
+ if (browserWindow) {
61
+ setTimeout(function () {
62
+ browserWindow.show();
63
+ browserWindow.focus();
64
+ browserWindow.setAlwaysOnTop(true, (0, _platform.isWindows)() ? 'pop-up-menu' : 'torn-off-menu');
65
+ browserWindow.moveTop();
66
+ }, 800);
67
+ }
68
+ },
69
+ children: children
70
+ });
71
+ return null;
72
+ };
@@ -12,8 +12,7 @@ var _useElectron = require("../../hooks/useElectron");
12
12
  var _dialogContainer = _interopRequireDefault(require("../dialog-container"));
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  var ShareScreenSelectronDialog = exports.ShareScreenSelectronDialog = function ShareScreenSelectronDialog(props) {
15
- var children = props.children,
16
- config = props.params;
15
+ var children = props.children;
17
16
  var transI18n = (0, _i18n.useI18n)();
18
17
  (0, _useElectron.useElectronDialog)({
19
18
  dialogKey: _constant.FcrUIDialogKey.SHARE_SCREEN,
@@ -56,16 +56,19 @@ var VideoWindowDialog = exports.VideoWindowDialog = (0, _mobxReact.observer)(fun
56
56
  }, [videoWindowBounds]),
57
57
  height = _useMemo.videoWindowHeight,
58
58
  type = _useMemo.videoWindowPreviewType;
59
+ var setCalcBounds = function setCalcBounds(x, y, width) {
60
+ return {
61
+ x: x + width - _type.DefaultVideoWindowWidth - 144,
62
+ y: y + 80,
63
+ width: _type.DefaultVideoWindowWidth,
64
+ height: _type.DefaultVideoWindowSmallTypeHeight
65
+ };
66
+ };
59
67
  var _window$runtime$scree = window.runtime.screen.getDisplayNearestPoint(currentShareBounds).bounds,
60
68
  x = _window$runtime$scree.x,
61
69
  y = _window$runtime$scree.y,
62
70
  width = _window$runtime$scree.width;
63
- var initalBounds = {
64
- x: x + width - _type.DefaultVideoWindowWidth - 144,
65
- y: y + 80,
66
- width: _type.DefaultVideoWindowWidth,
67
- height: _type.DefaultVideoWindowSmallTypeHeight
68
- };
71
+ var initalBounds = setCalcBounds(x, y, width);
69
72
  var config = _objectSpread(_objectSpread({
70
73
  title: 'Video Window',
71
74
  type: 'panel',
@@ -102,7 +105,7 @@ var VideoWindowDialog = exports.VideoWindowDialog = (0, _mobxReact.observer)(fun
102
105
  dialogKey: _constant.FcrUIDialogKey.VIDEO_WINDOW,
103
106
  config: config,
104
107
  hasCustomShadow: false,
105
- alwaysOnTop: 'screen-saver',
108
+ alwaysOnTop: _useElectron.diffPlatformTopLevelLayer,
106
109
  disableShortcutClose: true,
107
110
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_videoTrackRenderContext.FcrVideoTrackRenderContext.Provider, {
108
111
  value: {
@@ -116,18 +119,14 @@ var VideoWindowDialog = exports.VideoWindowDialog = (0, _mobxReact.observer)(fun
116
119
  newRendererWindow = _ref2.newRendererWindow;
117
120
  browserWindow.setBounds(initalBounds);
118
121
  function reCalculate() {
119
- var currentShareBounds = store.getCurrentSharingScreenBounds();
120
- var _window$runtime$scree2 = window.runtime.screen.getDisplayNearestPoint(currentShareBounds).bounds,
122
+ var shareBounds = store.recordCurrentSharingScreenBounds();
123
+ var _window$runtime$scree2 = window.runtime.screen.getDisplayNearestPoint(shareBounds).bounds,
121
124
  x = _window$runtime$scree2.x,
122
125
  y = _window$runtime$scree2.y,
123
126
  width = _window$runtime$scree2.width;
124
- browserWindow.setBounds({
125
- x: x + width - _type.DefaultVideoWindowWidth - 144,
126
- y: y + 80,
127
- width: _type.DefaultVideoWindowWidth,
128
- height: _type.DefaultVideoWindowSmallTypeHeight
129
- });
127
+ browserWindow.setBounds(setCalcBounds(x, y, width));
130
128
  }
129
+ reCalculate();
131
130
  calculateRef.current = reCalculate;
132
131
 
133
132
  // @ts-ignore
@@ -163,6 +162,9 @@ var VideoWindowDialog = exports.VideoWindowDialog = (0, _mobxReact.observer)(fun
163
162
  }),
164
163
  browserWindow = _useElectronDialog.browserWindow,
165
164
  newRendererWindow = _useElectronDialog.newRendererWindow;
165
+ (0, _react.useEffect)(function () {
166
+ if (calculateRef.current) calculateRef.current();
167
+ }, [currentShareBounds]);
166
168
  (0, _react.useEffect)(function () {
167
169
  if (!browserWindow) return;
168
170
  var x = initalBounds.x,
@@ -178,7 +180,7 @@ var VideoWindowDialog = exports.VideoWindowDialog = (0, _mobxReact.observer)(fun
178
180
  resetSize(type, true);
179
181
  newRendererWindow && popoverWatcher(browserWindow, newRendererWindow);
180
182
  changeVideoWindowConfig(browserWindow, type === _type.FcrVideoWindowPreviewType.SMALL);
181
- }, [height, type, newBounds]);
183
+ }, [height, type, newBounds, currentShareBounds]);
182
184
  function resetSize(type, withStyle) {
183
185
  var _wrapperDomRef$curren, _wrapperDomRef$curren2;
184
186
  if (!browserWindow) return;
@@ -1,5 +1,6 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  import { FcrUIWebWidgetConfig } from '../../../../type';
3
- export declare const WidgetElectronDialog: ({ children, params, }: PropsWithChildren<{
3
+ export declare const WidgetElectronDialog: ({ children, params, dialogId, }: PropsWithChildren<{
4
4
  params: FcrUIWebWidgetConfig;
5
+ dialogId: string;
5
6
  }>) => null;
@@ -11,7 +11,8 @@ var _useElectron = require("../../hooks/useElectron");
11
11
  var WidgetElectronDialog = exports.WidgetElectronDialog = function WidgetElectronDialog(_ref) {
12
12
  var _params$popupSize, _params$popupSize2;
13
13
  var children = _ref.children,
14
- params = _ref.params;
14
+ params = _ref.params,
15
+ dialogId = _ref.dialogId;
15
16
  var width = (_params$popupSize = params.popupSize) !== null && _params$popupSize !== void 0 && _params$popupSize.width ? params.popupSize.width + 2 : undefined;
16
17
  var height = (_params$popupSize2 = params.popupSize) !== null && _params$popupSize2 !== void 0 && _params$popupSize2.height ? params.popupSize.height + 76 : undefined;
17
18
  var config = {
@@ -29,7 +30,7 @@ var WidgetElectronDialog = exports.WidgetElectronDialog = function WidgetElectro
29
30
  (0, _useElectron.useElectronDialogByDialogId)({
30
31
  config: config,
31
32
  dialogKey: _constant.FcrUIDialogKey.WIDGET,
32
- dialogId: params.id,
33
+ dialogId: dialogId,
33
34
  children: children,
34
35
  hasCustomShadow: false
35
36
  });
@@ -1,6 +1,7 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  import { FcrUIWebWidgetConfig } from '../../../../type';
3
- declare const WidgetDialog: ({ children, params, }: PropsWithChildren<{
3
+ declare const WidgetDialog: ({ children, params, dialogId, }: PropsWithChildren<{
4
4
  params: FcrUIWebWidgetConfig;
5
+ dialogId: string;
5
6
  }>) => import("react/jsx-runtime").JSX.Element;
6
7
  export default WidgetDialog;
@@ -9,19 +9,16 @@ exports["default"] = void 0;
9
9
  require("core-js/modules/es.function.name.js");
10
10
  var _env = require("agora-foundation/lib/utilities/env");
11
11
  var _electron = require("./electron");
12
- var _react = require("react");
13
12
  var _i18n = require("agora-ui-foundation/lib/i18n");
14
13
  var _dialogContainer = _interopRequireDefault(require("../dialog-container"));
15
14
  var _constant = require("../../../../utilities/constant");
16
- var _store = require("../../store");
17
15
  var _jsxRuntime = require("react/jsx-runtime");
18
16
  var WidgetDialog = function WidgetDialog(_ref) {
19
17
  var _params$popupSize, _params$popupSize2;
20
18
  var children = _ref.children,
21
- params = _ref.params;
19
+ params = _ref.params,
20
+ dialogId = _ref.dialogId;
22
21
  var t = (0, _i18n.useI18n)();
23
- var _useContext = (0, _react.useContext)(_store.StoreContext),
24
- widgetDialogIds = _useContext.widgetDialogIds;
25
22
  var width = (_params$popupSize = params.popupSize) !== null && _params$popupSize !== void 0 && _params$popupSize.width ? params.popupSize.width + 2 : undefined;
26
23
  var height = (_params$popupSize2 = params.popupSize) !== null && _params$popupSize2 !== void 0 && _params$popupSize2.height ? params.popupSize.height + 46 : undefined;
27
24
  var container = /*#__PURE__*/(0, _jsxRuntime.jsx)(_dialogContainer["default"], {
@@ -29,12 +26,13 @@ var WidgetDialog = function WidgetDialog(_ref) {
29
26
  width: width,
30
27
  height: height,
31
28
  dialogKey: _constant.FcrUIDialogKey.WIDGET,
32
- dialogId: widgetDialogIds.get(params.id),
29
+ dialogId: dialogId,
33
30
  children: children
34
31
  });
35
32
  if ((0, _env.isElectron)()) {
36
33
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_electron.WidgetElectronDialog, {
37
34
  params: params,
35
+ dialogId: dialogId,
38
36
  children: container
39
37
  });
40
38
  }
@@ -1,2 +1,3 @@
1
1
  import { FcrUIDialogKey } from '../../utilities/constant';
2
2
  export declare let dialogWindows: Map<FcrUIDialogKey, Electron.BrowserWindow>;
3
+ export declare let dialogIdWindows: Map<string, Electron.BrowserWindow>;
@@ -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.dialogWindows = void 0;
7
+ exports.dialogWindows = exports.dialogIdWindows = void 0;
8
8
  require("core-js/modules/es.array.iterator.js");
9
9
  require("core-js/modules/es.map.js");
10
10
  require("core-js/modules/es.object.to-string.js");
@@ -24,4 +24,5 @@ require("core-js/modules/esnext.map.reduce.js");
24
24
  require("core-js/modules/esnext.map.some.js");
25
25
  require("core-js/modules/esnext.map.update.js");
26
26
  require("core-js/modules/web.dom-collections.iterator.js");
27
- var dialogWindows = exports.dialogWindows = new Map();
27
+ var dialogWindows = exports.dialogWindows = new Map();
28
+ var dialogIdWindows = exports.dialogIdWindows = new Map();
@@ -5,6 +5,8 @@ export declare const DialogInstanceContext: import("react").Context<{
5
5
  resizable: boolean;
6
6
  }>;
7
7
  export declare const shadowOffset: number;
8
+ export declare const diffPlatformHighLevelLayer: string;
9
+ export declare const diffPlatformTopLevelLayer: string;
8
10
  export declare function useElectronDialog(props: FcrUIDialogHooksProps): {
9
11
  store: import("../store").default;
10
12
  browserWindow: Electron.BrowserWindow | undefined;
@@ -14,7 +14,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
14
14
  Object.defineProperty(exports, "__esModule", {
15
15
  value: true
16
16
  });
17
- exports.shadowOffset = exports.DialogInstanceContext = void 0;
17
+ exports.shadowOffset = exports.diffPlatformTopLevelLayer = exports.diffPlatformHighLevelLayer = exports.DialogInstanceContext = void 0;
18
18
  exports.useElectronDialog = useElectronDialog;
19
19
  exports.useElectronDialogByDialogId = useElectronDialogByDialogId;
20
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -33,15 +33,18 @@ var _store = require("../store");
33
33
  var _dialogs = require("../dialogs");
34
34
  var _renderer = require("../../../utilities/renderer");
35
35
  var _reactDom = require("react-dom");
36
- var _constant = require("../../../utilities/constant");
36
+ var _tools = require("../../../utilities/tools");
37
37
  var _jsxRuntime = require("react/jsx-runtime");
38
38
  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; }
39
39
  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; }
40
40
  var DialogInstanceContext = exports.DialogInstanceContext = /*#__PURE__*/(0, _react.createContext)(null);
41
41
  var shadowOffset = exports.shadowOffset = 15 + 15;
42
+ // windows 平台对层级支持的不完整,初始化时,如果低于 pup-up-menu 层级将不起作用,因此做此区分
43
+ var diffPlatformHighLevelLayer = exports.diffPlatformHighLevelLayer = (0, _renderer.isWindows)() ? 'pop-up-menu' : 'torn-off-menu';
44
+ var diffPlatformTopLevelLayer = exports.diffPlatformTopLevelLayer = (0, _renderer.isWindows)() ? 'screen-saver' : 'modal-panel';
42
45
  var enterFullScreenHandler = function enterFullScreenHandler() {
43
46
  _dialogs.dialogWindows.forEach(function (win, k) {
44
- !_store.TOP_LEVEL_DIALOG_LAYER.includes(k) && win.setAlwaysOnTop(true, 'pop-up-menu');
47
+ !_store.TOP_LEVEL_DIALOG_LAYER.includes(k) && win.setAlwaysOnTop(true, diffPlatformHighLevelLayer);
45
48
  });
46
49
  };
47
50
  var leaveFullScreenHandler = function leaveFullScreenHandler() {
@@ -64,7 +67,6 @@ function useElectronDialog(props) {
64
67
  fullScreen = props.fullScreen,
65
68
  onOpened = props.onOpened,
66
69
  onUnmounted = props.onUnmounted,
67
- polyfills = props.polyfills,
68
70
  _props$hasCustomShado = props.hasCustomShadow,
69
71
  hasCustomShadow = _props$hasCustomShado === void 0 ? true : _props$hasCustomShado,
70
72
  _props$disableShortcu = props.disableShortcutClose,
@@ -89,53 +91,15 @@ function useElectronDialog(props) {
89
91
  (0, _react.useEffect)(function () {
90
92
  var node;
91
93
  window.runtime.openRendererWindow(dialogKey, function (dom, browserWindow, newRendererWindow) {
92
- var _controlbar$isVisible;
93
94
  node = dom;
94
95
  windowRef.current = browserWindow;
95
96
  newRendernerWindowRef.current = newRendererWindow;
96
97
  _dialogs.dialogWindows.set(dialogKey, browserWindow);
97
- var thisWindowBounds = browserWindow.getBounds();
98
- var mainAppWindowBounds = window.runtime.browserWindow.getBounds();
99
- var nearDisplayBounds = window.runtime.screen.getDisplayNearestPoint(mainAppWindowBounds).bounds;
100
- var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
101
- if (controlbar && controlbar !== null && controlbar !== void 0 && (_controlbar$isVisible = controlbar.isVisible) !== null && _controlbar$isVisible !== void 0 && _controlbar$isVisible.call(controlbar)) {
102
- // 因为打开过的窗口在关闭时是用的 hide 方法,因此只判断 controlbar 是否存在会在关闭 controlbar 时失效,导致窗口依然跟随 controlbar 最后所在屏幕打开,所以要再判断一下 isVisible 状态
103
- // 当屏幕共享时会打开 control bar,此时弹窗相对于 control bar 展示
104
- var nearDisplay = window.runtime.screen.getDisplayNearestPoint(controlbar.getBounds());
105
- var _nearDisplayBounds = nearDisplay.bounds;
106
- var _thisWindowBounds = browserWindow.getBounds();
107
- var centerBounds = {
108
- x: Math.floor(_nearDisplayBounds.x + (_nearDisplayBounds.width - _thisWindowBounds.width) / 2),
109
- y: Math.floor(_nearDisplayBounds.y + (_nearDisplayBounds.height - _thisWindowBounds.height) / 2)
110
- };
111
- // resizeble 为 true 的窗口在切换不同分辨率属性的显示器时,会有打开尺寸失真的情况出现,所以暂存一下其原始值,在更改坐标之后还原
112
- var resizeble = browserWindow.isResizable();
113
- browserWindow.setResizable(false);
114
- browserWindow.setBounds(centerBounds);
115
- browserWindow.setResizable(resizeble);
116
- } else if (fullScreen) {
117
- var _browserWindow$setBou;
118
- // 当窗口的自定义设置为全屏时,让弹窗追随主窗口所在的屏幕展示
119
- // 目前 fullScreen 的配置主要用于 toast 和 confirm,在应用启动时会直接初始化这两个 dialog,如果未设置 fullScreen,它们因为没有宽高将无法展示
120
- var x = nearDisplayBounds.x,
121
- y = nearDisplayBounds.y,
122
- width = nearDisplayBounds.width,
123
- height = nearDisplayBounds.height;
124
- browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou = browserWindow.setBounds) === null || _browserWindow$setBou === void 0 || _browserWindow$setBou.call(browserWindow, {
125
- x: x,
126
- y: y,
127
- width: width,
128
- height: height
129
- });
130
- } else {
131
- var _browserWindow$setBou2;
132
- // 如果窗口未设置全屏模式,那么新打开的弹窗相对于主窗口弹窗的水平垂直居中显示
133
- var bounds = {
134
- x: Math.floor(mainAppWindowBounds.x + (mainAppWindowBounds.width - thisWindowBounds.width) / 2),
135
- y: Math.floor(mainAppWindowBounds.y + (mainAppWindowBounds.height - thisWindowBounds.height) / 2)
136
- };
137
- browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou2 = browserWindow.setBounds) === null || _browserWindow$setBou2 === void 0 || _browserWindow$setBou2.call(browserWindow, bounds);
138
- }
98
+ var _ref = (0, _tools.followCorrectDisplay)({
99
+ browserWindow: browserWindow,
100
+ alwaysFollowScreen: fullScreen
101
+ }),
102
+ nearDisplayBounds = _ref.nearDisplayBounds;
139
103
 
140
104
  // 设置所有窗口为所有工作区可见
141
105
  browserWindow.setVisibleOnAllWorkspaces(true, {
@@ -173,8 +137,10 @@ function useElectronDialog(props) {
173
137
  forward: true
174
138
  } : ignoreMouseEvents);
175
139
  }
176
- browserWindow.setAlwaysOnTop(typeof alwaysOnTop === 'boolean' ? alwaysOnTop : typeof alwaysOnTop === 'string', typeof alwaysOnTop === 'string' ? alwaysOnTop : 'pop-up-menu');
177
- _store.HIGH_LEVEL_DIALOG_LAYER.includes(dialogKey) && browserWindow.setAlwaysOnTop(true, 'pop-up-menu');
140
+ browserWindow.setAlwaysOnTop(typeof alwaysOnTop === 'boolean' ? alwaysOnTop : typeof alwaysOnTop === 'string', typeof alwaysOnTop === 'string' ? alwaysOnTop : diffPlatformHighLevelLayer);
141
+ if (_store.HIGH_LEVEL_DIALOG_LAYER.includes(dialogKey)) {
142
+ browserWindow.setAlwaysOnTop(true, diffPlatformHighLevelLayer);
143
+ }
178
144
  if (!scroll) {
179
145
  browserWindow.webContents.insertCSS("\n ::-webkit-scrollbar {\n display: none;\n }\n #root {\n padding: ".concat(hasCustomShadow ? shadowOffset / 2 : 0, "px;\n display: ").concat(hasCustomShadow ? 'flex' : 'block', ";\n align-items: center;\n }\n "));
180
146
  }
@@ -219,10 +185,6 @@ function useElectronDialog(props) {
219
185
  window.runtime.browserWindow.removeListener('leave-full-screen', leaveFullScreenHandler);
220
186
  }
221
187
  window.runtime.closeRendererWindow(dialogKey);
222
- if (windowRef.current && !windowRef.current.isDestroyed()) {
223
- windowRef.current.hide();
224
- windowRef.current.close();
225
- }
226
188
  onUnmounted === null || onUnmounted === void 0 || onUnmounted(store);
227
189
  };
228
190
  }, []);
@@ -247,7 +209,6 @@ function useElectronDialogByDialogId(props) {
247
209
  fullScreen = props.fullScreen,
248
210
  onOpened = props.onOpened,
249
211
  onUnmounted = props.onUnmounted,
250
- polyfills = props.polyfills,
251
212
  _props$hasCustomShado2 = props.hasCustomShadow,
252
213
  hasCustomShadow = _props$hasCustomShado2 === void 0 ? true : _props$hasCustomShado2,
253
214
  _props$disableShortcu2 = props.disableShortcutClose,
@@ -273,51 +234,15 @@ function useElectronDialogByDialogId(props) {
273
234
  (0, _react.useEffect)(function () {
274
235
  var node;
275
236
  window.runtime.openRendererWindow(winUniqueId, function (dom, browserWindow, newRendererWindow) {
276
- var _controlbar$isVisible2;
277
237
  node = dom;
278
238
  windowRef.current = browserWindow;
279
239
  newRendernerWindowRef.current = newRendererWindow;
280
- var thisWindowBounds = browserWindow.getBounds();
281
- var mainAppWindowBounds = window.runtime.browserWindow.getBounds();
282
- var nearDisplayBounds = window.runtime.screen.getDisplayNearestPoint(mainAppWindowBounds).bounds;
283
- var controlbar = _dialogs.dialogWindows.get(_constant.FcrUIDialogKey.CONTROL_BAR);
284
- if (controlbar && controlbar !== null && controlbar !== void 0 && (_controlbar$isVisible2 = controlbar.isVisible) !== null && _controlbar$isVisible2 !== void 0 && _controlbar$isVisible2.call(controlbar)) {
285
- // 因为打开过的窗口在关闭时是用的 hide 方法,因此只判断 controlbar 是否存在会在关闭 controlbar 时失效,导致窗口依然跟随 controlbar 最后所在屏幕打开,所以要再判断一下 isVisible 状态
286
- // 当屏幕共享时会打开 control bar,此时弹窗相对于 control bar 展示
287
- var nearDisplay = window.runtime.screen.getDisplayNearestPoint(controlbar.getBounds());
288
- var _nearDisplayBounds2 = nearDisplay.bounds;
289
- var _thisWindowBounds2 = browserWindow.getBounds();
290
- var centerBounds = {
291
- x: Math.floor(_nearDisplayBounds2.x + (_nearDisplayBounds2.width - _thisWindowBounds2.width) / 2),
292
- y: Math.floor(_nearDisplayBounds2.y + (_nearDisplayBounds2.height - _thisWindowBounds2.height) / 2)
293
- };
294
- // resizeble 为 true 的窗口在切换不同分辨率属性的显示器时,会有打开尺寸失真的情况出现,所以暂存一下其原始值,在更改坐标之后还原
295
- var resizeble = browserWindow.isResizable();
296
- browserWindow.setResizable(false);
297
- browserWindow.setBounds(centerBounds);
298
- browserWindow.setResizable(resizeble);
299
- } else if (fullScreen) {
300
- var _browserWindow$setBou3;
301
- // 当窗口的自定义设置为全屏时,让弹窗追随主窗口所在的屏幕展示
302
- var x = nearDisplayBounds.x,
303
- y = nearDisplayBounds.y,
304
- width = nearDisplayBounds.width,
305
- height = nearDisplayBounds.height;
306
- browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou3 = browserWindow.setBounds) === null || _browserWindow$setBou3 === void 0 || _browserWindow$setBou3.call(browserWindow, {
307
- x: x,
308
- y: y,
309
- width: width,
310
- height: height
311
- });
312
- } else {
313
- var _browserWindow$setBou4;
314
- // 如果主窗口不是全屏模式,那么新打开的弹窗相对于主窗口弹窗的水平垂直居中显示
315
- var bounds = {
316
- x: Math.floor(mainAppWindowBounds.x + (mainAppWindowBounds.width - thisWindowBounds.width) / 2),
317
- y: Math.floor(mainAppWindowBounds.y + (mainAppWindowBounds.height - thisWindowBounds.height) / 2)
318
- };
319
- browserWindow === null || browserWindow === void 0 || (_browserWindow$setBou4 = browserWindow.setBounds) === null || _browserWindow$setBou4 === void 0 || _browserWindow$setBou4.call(browserWindow, bounds);
320
- }
240
+ _dialogs.dialogIdWindows.set(winUniqueId, browserWindow);
241
+ var _ref2 = (0, _tools.followCorrectDisplay)({
242
+ browserWindow: browserWindow,
243
+ alwaysFollowScreen: fullScreen
244
+ }),
245
+ nearDisplayBounds = _ref2.nearDisplayBounds;
321
246
 
322
247
  // 设置所有窗口为所有工作区可见
323
248
  browserWindow.setVisibleOnAllWorkspaces(true, {
@@ -346,7 +271,7 @@ function useElectronDialogByDialogId(props) {
346
271
  forward: true
347
272
  } : ignoreMouseEvents);
348
273
  }
349
- browserWindow.setAlwaysOnTop(typeof alwaysOnTop === 'boolean' ? alwaysOnTop : typeof alwaysOnTop === 'string', typeof alwaysOnTop === 'string' ? alwaysOnTop : 'pop-up-menu');
274
+ browserWindow.setAlwaysOnTop(typeof alwaysOnTop === 'boolean' ? alwaysOnTop : typeof alwaysOnTop === 'string', typeof alwaysOnTop === 'string' ? alwaysOnTop : diffPlatformHighLevelLayer);
350
275
  if (!scroll) {
351
276
  browserWindow.webContents.insertCSS("\n ::-webkit-scrollbar {\n display: none;\n }\n #root {\n padding: ".concat(hasCustomShadow ? shadowOffset / 2 : 0, "px;\n display: ").concat(hasCustomShadow ? 'flex' : 'block', ";\n align-items: center;\n }\n "));
352
277
  }
@@ -390,10 +315,6 @@ function useElectronDialogByDialogId(props) {
390
315
  window.runtime.browserWindow.removeListener('leave-full-screen', leaveFullScreenHandler);
391
316
  }
392
317
  window.runtime.closeRendererWindow(winUniqueId);
393
- if (windowRef.current && !windowRef.current.isDestroyed()) {
394
- windowRef.current.hide();
395
- windowRef.current.close();
396
- }
397
318
  onUnmounted === null || onUnmounted === void 0 || onUnmounted(store);
398
319
  };
399
320
  }, []);
@@ -15,6 +15,7 @@ import { CurrentShareScreenTypes } from '../share-screen/types';
15
15
  import { FcrUIDialogInfo } from './type';
16
16
  import { FcrUIWidgetProvider } from '../../providers/widget-provider';
17
17
  import { FcrUIChatProvider } from '../../providers/chat-provider';
18
+ import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
18
19
  export declare class DialogUIModule extends UIModule {
19
20
  private _dialogsByKey;
20
21
  private _store?;
@@ -33,6 +34,7 @@ export declare class DialogUIModule extends UIModule {
33
34
  mainRoomControlProvider?: FcrUIMainRoomControlProvider;
34
35
  waitingRoomControlProvider?: FcrUIWaitingRoomControlProvider;
35
36
  widgetProvider?: FcrUIWidgetProvider;
37
+ screenShareProvider: FcrUIScreenShareProvider;
36
38
  chatProvider?: FcrUIChatProvider;
37
39
  abilityProvider?: FcrUIAbilityProviderImpl;
38
40
  onNodeWillActive(): void;
@@ -52,7 +52,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
52
52
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
53
53
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
54
54
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
55
- var _react = _interopRequireDefault(require("react"));
56
55
  var _base = require("../../base");
57
56
  var _store = _interopRequireWildcard(require("./store"));
58
57
  var _view = require("./view");
@@ -99,7 +98,8 @@ var DialogUIModule = exports.DialogUIModule = /*#__PURE__*/function (_UIModule)
99
98
  dialogsByKey: this._dialogsByKey,
100
99
  widgetProvider: this.widgetProvider,
101
100
  chatProvider: this.chatProvider,
102
- abilityProvider: this.abilityProvider
101
+ abilityProvider: this.abilityProvider,
102
+ screenShareProvider: this.screenShareProvider
103
103
  });
104
104
  this.eventProvider.addObserver({
105
105
  onEvent: this.onUiEvent.bind(this)