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,16 +4,16 @@ require("core-js/modules/es.object.define-property.js");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.listenMeetingState = void 0;
7
+ exports.listenMeetingState = exports.isInMeeting = void 0;
8
8
  require("core-js/modules/es.array.concat.js");
9
9
  var _electron = require("electron");
10
10
  var _logger = require("../logger");
11
11
  var logger = (0, _logger.getLogger)();
12
+ var isInMeeting = exports.isInMeeting = 0;
12
13
  var listenMeetingState = exports.listenMeetingState = function listenMeetingState(window) {
13
- var isInMeeting = 0;
14
14
  var saveBlockerId = 0;
15
15
  _electron.ipcMain.addListener('set-in-meeting-state', function (_, state) {
16
- isInMeeting = state;
16
+ exports.isInMeeting = isInMeeting = state;
17
17
  logger.info('in-meeting state changed', state);
18
18
  if (state === 1) {
19
19
  if (!_electron.powerSaveBlocker.isStarted(saveBlockerId)) {
@@ -15,7 +15,7 @@ var listenScreenshot = exports.listenScreenshot = function listenScreenshot(wind
15
15
  module = '';
16
16
  var timer = null;
17
17
  var stopScreen = function stopScreen() {
18
- window.show();
18
+ window.setOpacity(1);
19
19
  isCapturing = false;
20
20
  timer && clearTimeout(timer);
21
21
  };
@@ -42,7 +42,7 @@ var listenScreenshot = exports.listenScreenshot = function listenScreenshot(wind
42
42
  var hideWindow = false;
43
43
  hideWindow = payload.hideWindow;
44
44
  module = payload.module;
45
- hideWindow && window.hide();
45
+ hideWindow && window.setOpacity(0);
46
46
  if (!shortcutCapture) {
47
47
  shortcutCapture = new _electronScreenshots["default"]();
48
48
  }
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.object.keys.js");
4
+ require("core-js/modules/esnext.json.parse.js");
5
+ var _renderer = require("electron/renderer");
3
6
  var _injections = require("./injections");
7
+ var _type = require("./ipc/type");
4
8
  window.runtime = {
5
9
  open: _injections.open,
6
10
  close: _injections.close,
@@ -23,11 +27,9 @@ window.runtime = {
23
27
  getSystemMemorySize: _injections.getSystemMemorySize,
24
28
  getSystemCpuInfo: _injections.getSystemCpuInfo,
25
29
  getNetworkType: _injections.getNetworkType,
26
- getAssetUrl: _injections.getAssetUrl,
27
- getRendererProcessUsage: _injections.getRendererProcessUsage,
28
30
  setFragmentBaseUrl: _injections.setFragmentBaseUrl,
29
31
  getResourceByFileType: _injections.getResourceByFileType,
30
- fileToBase64: _injections.fileToBase64,
32
+ fileToBlob: _injections.fileToBlob,
31
33
  registerListenerReady: _injections.registerListenerReady,
32
34
  releaseSubAllWindowRefs: _injections.releaseSubAllWindowRefs,
33
35
  getMediaSourceIdList: _injections.getMediaSourceIdList,
@@ -37,5 +39,65 @@ window.runtime = {
37
39
  checkMediaPermission: _injections.checkMediaPermission,
38
40
  openSystemPreferences: _injections.openSystemPreferences,
39
41
  getUserSettingData: _injections.getUserSettingData,
40
- setUserSettingData: _injections.setUserSettingData
41
- };
42
+ setUserSettingData: _injections.setUserSettingData,
43
+ initSDK: _injections.initSDK,
44
+ getIsSDKReady: _injections.getIsSDKReady,
45
+ openSetting: _injections.openSetting,
46
+ loadBuiltinResources: _injections.loadBuiltinResources,
47
+ launchSuccess: _injections.launchSuccess,
48
+ launchFailure: _injections.launchFailure,
49
+ setParameters: _injections.setParameters,
50
+ exitedMeeting: _injections.exitedMeeting
51
+ };
52
+ _renderer.ipcRenderer.on(_type.IPCMessageCMD.InitCreator, function (_event, value) {
53
+ if (window.runtime.onCreatorInit) {
54
+ var data = value;
55
+ try {
56
+ data = JSON.parse(value);
57
+ } catch (e) {
58
+ console.error('Failed to parse init options:', e);
59
+ }
60
+ window.runtime.onCreatorInit(data);
61
+ }
62
+ });
63
+ _renderer.ipcRenderer.on(_type.IPCMessageCMD.OpenSetting, function (_event, value) {
64
+ if (window.runtime.onSettingOpen) {
65
+ window.runtime.onSettingOpen();
66
+ }
67
+ });
68
+ _renderer.ipcRenderer.on(_type.IPCMessageCMD.CloseSetting, function (_event, value) {
69
+ if (window.runtime.onSettingClose) {
70
+ window.runtime.onSettingClose();
71
+ }
72
+ });
73
+ _renderer.ipcRenderer.on(_type.IPCMessageCMD.SetParameters, function (_event, value) {
74
+ if (window.runtime.onSetParameters) {
75
+ window.runtime.onSetParameters(value);
76
+ }
77
+ });
78
+ _renderer.ipcRenderer.on(_type.IPCMessageCMD.LaunchMeeting, function (_event, value) {
79
+ if (window.runtime.onLaunchMeeting) {
80
+ var data = value;
81
+ try {
82
+ data = JSON.parse(value);
83
+ } catch (e) {
84
+ console.error('Failed to parse launch options:', e);
85
+ }
86
+ window.runtime.onLaunchMeeting(data);
87
+ }
88
+ });
89
+ _renderer.ipcRenderer.on('sdk-ready', function () {
90
+ if (window.runtime.onSDKReady) {
91
+ window.runtime.onSDKReady();
92
+ }
93
+ });
94
+ _renderer.ipcRenderer.on('close-window-before-launch-success', function () {
95
+ if (window.runtime.onCloseWindowBeforeLaunchSuccess) {
96
+ window.runtime.onCloseWindowBeforeLaunchSuccess();
97
+ }
98
+ });
99
+ _renderer.ipcRenderer.on('exited-meeting', function (_event, roomId, reason) {
100
+ if (window.runtime.exitedMeeting) {
101
+ window.runtime.exitedMeeting(roomId, reason);
102
+ }
103
+ });
@@ -114,9 +114,7 @@ var getRendererWindow = exports.getRendererWindow = function getRendererWindow(e
114
114
  var clearAllRendererWindows = exports.clearAllRendererWindows = function clearAllRendererWindows() {
115
115
  for (var key in rendererWindows) {
116
116
  rendererWindows[key].emit('will-close');
117
- rendererWindows[key].destroy();
118
117
  }
119
- rendererWindows = {};
120
118
  };
121
119
  var setFragmentBaseUrl = exports.setFragmentBaseUrl = function setFragmentBaseUrl(_isDev, _baseUrl) {
122
120
  isDev = _isDev;
package/lib/global.css CHANGED
@@ -3,3 +3,42 @@ html,
3
3
  body {
4
4
  background: transparent;
5
5
  }
6
+
7
+ .fcr-scene-scope {
8
+ font-family:
9
+ ui-sans-serif,
10
+ system-ui,
11
+ -apple-system,
12
+ BlinkMacSystemFont,
13
+ 'Segoe UI',
14
+ Roboto,
15
+ 'Helvetica Neue',
16
+ Arial,
17
+ 'Noto Sans',
18
+ sans-serif,
19
+ 'Apple Color Emoji',
20
+ 'Segoe UI Emoji',
21
+ 'Segoe UI Symbol',
22
+ 'Noto Color Emoji';
23
+ font-size: 14px;
24
+ }
25
+
26
+ .fcr-scene-scope * {
27
+ pointer-events: initial;
28
+ }
29
+
30
+ .fcr-scene-scope *::before,
31
+ .fcr-scene-scope *::after {
32
+ /* border: transparent; */
33
+ margin: 0px;
34
+ }
35
+
36
+ .fcr-connecting-loading {
37
+ position: absolute;
38
+ top: 0;
39
+ left: 0;
40
+ width: 100vw;
41
+ height: 100vh;
42
+ display: flex;
43
+ z-index: 1000;
44
+ }
@@ -33,6 +33,7 @@ var Apps = exports.Apps = (0, _mobxReact.observer)(function (_ref) {
33
33
  popoverProps: {
34
34
  trigger: 'click',
35
35
  visible: visible,
36
+ showArrow: false,
36
37
  content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_appList.AppList, {
37
38
  onAppClick: onAppClick
38
39
  }),
@@ -22,7 +22,7 @@ var useWidgetList = function useWidgetList(onAppClick) {
22
22
  return (0, _react.useMemo)(function () {
23
23
  return registeredWidgetConfigs.map(function (widgetConfig) {
24
24
  return {
25
- name: widgetConfig.id,
25
+ name: widgetConfig.name,
26
26
  fcrToolTipProps: {
27
27
  content: widgetConfig.name
28
28
  },
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.Board = void 0;
8
- var _i18n = require("agora-ui-foundation/lib/i18n");
9
8
  var _type = require("agora-ui-foundation/lib/components/icon/type");
10
9
  var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
11
10
  var _item = require("../item");
@@ -13,7 +12,6 @@ var _jsxRuntime = require("react/jsx-runtime");
13
12
  var Board = exports.Board = function Board(_ref) {
14
13
  var id = _ref.id,
15
14
  order = _ref.order;
16
- var transI18n = (0, _i18n.useI18n)();
17
15
  var handleClick = function handleClick() {};
18
16
  var icon = true ? _type.FcrIconType.FCR_WHITEBOARD_ON : _type.FcrIconType.FCR_WHITEBOARD;
19
17
  var title = 'Board';
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.BreakoutRoom = void 0;
8
- var _i18n = require("agora-ui-foundation/lib/i18n");
9
8
  var _type = require("agora-ui-foundation/lib/components/icon/type");
10
9
  var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
11
10
  var _item = require("../item");
@@ -13,7 +12,6 @@ var _jsxRuntime = require("react/jsx-runtime");
13
12
  var BreakoutRoom = exports.BreakoutRoom = function BreakoutRoom(_ref) {
14
13
  var id = _ref.id,
15
14
  order = _ref.order;
16
- var transI18n = (0, _i18n.useI18n)();
17
15
  var title = 'BreakoutRoom';
18
16
  var tooltip = 'BreakoutRoom';
19
17
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
@@ -2,8 +2,10 @@ import { FC, PropsWithChildren } from 'react';
2
2
  import { ActionBarItemProps, ActionBarItemWithPopoverProps } from '../../types';
3
3
  export declare const ActionBarItem: FC<PropsWithChildren<ActionBarItemProps & {
4
4
  submenu?: {
5
+ active: boolean;
5
6
  children: React.ReactNode;
6
7
  onClick: () => void;
8
+ onVisibleChange: (visible: boolean) => void;
7
9
  };
8
10
  }>>;
9
11
  export declare const ActionBarItemWithPopover: FC<ActionBarItemWithPopoverProps>;
@@ -108,8 +108,9 @@ var ActionBarItem = exports.ActionBarItem = function ActionBarItem(props) {
108
108
  children: title
109
109
  })]
110
110
  }), props.submenu && /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
111
+ showArrow: false,
111
112
  overlayClassName: "fcr-action-bar--popover",
112
- onVisibleChange: function onVisibleChange() {},
113
+ onVisibleChange: props.submenu.onVisibleChange,
113
114
  trigger: "click",
114
115
  content: props.submenu.children,
115
116
  overlayInnerStyle: {
@@ -123,7 +124,7 @@ var ActionBarItem = exports.ActionBarItem = function ActionBarItem(props) {
123
124
  e.stopPropagation();
124
125
  (_props$submenu = props.submenu) === null || _props$submenu === void 0 || _props$submenu.onClick();
125
126
  },
126
- className: "fcr-action-bar-extra",
127
+ className: "fcr-action-bar-extra ".concat(props.submenu.active ? 'active' : ''),
127
128
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
128
129
  type: _type.FcrIconType.FCR_DROPUP4,
129
130
  colors: {
@@ -146,6 +147,7 @@ var ActionBarItemWithPopover = exports.ActionBarItemWithPopover = function Actio
146
147
  popoverOpened = _useState2[0],
147
148
  setPopoverOpend = _useState2[1];
148
149
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, _objectSpread(_objectSpread({}, popoverProps), {}, {
150
+ showArrow: false,
149
151
  afterVisibleChange: function afterVisibleChange(visible) {
150
152
  var _popoverProps$afterVi;
151
153
  setPopoverOpend(visible);
@@ -21,9 +21,8 @@ Object.defineProperty(exports, "__esModule", {
21
21
  value: true
22
22
  });
23
23
  exports.End = void 0;
24
- require("core-js/modules/web.timers.js");
25
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
26
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
25
+ require("core-js/modules/web.timers.js");
27
26
  var _reactDom = _interopRequireDefault(require("react-dom"));
28
27
  var _i18n = require("agora-ui-foundation/lib/i18n");
29
28
  var _button = require("agora-ui-foundation/lib/components/button");
@@ -47,18 +46,8 @@ var End = exports.End = (0, _mobxReact.observer)(function (props) {
47
46
  _setPopoverOpened = _useContext.setPopoverOpened,
48
47
  stateBarLeaveMeeting = _useContext.stateBarLeaveMeeting,
49
48
  setStateBarLeaveMeeting = _useContext.setStateBarLeaveMeeting;
50
- var _useState = (0, _react.useState)(false),
51
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
52
- tooltipOpened = _useState2[0],
53
- setTooltipOpened = _useState2[1];
54
49
  var popOverRef = (0, _react.useRef)(false);
55
- var onTooltipChanged = function onTooltipChanged(v) {
56
- if (!popoverOpened) {
57
- setTooltipOpened(v);
58
- }
59
- };
60
50
  var onPopoverChanged = function onPopoverChanged(v) {
61
- setTooltipOpened(false);
62
51
  _setPopoverOpened(v);
63
52
  toggleLayoutBarLock(v);
64
53
  popOverRef.current = v;
@@ -124,6 +113,7 @@ var End = exports.End = (0, _mobxReact.observer)(function (props) {
124
113
  }, [popoverOpened]);
125
114
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
126
115
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
116
+ showArrow: false,
127
117
  overlayClassName: "fcr-action-bar--device-popover fcr-action-bar--leave-popover",
128
118
  overlayInnerStyle: {
129
119
  width: 280
@@ -77,6 +77,7 @@ var More = exports.More = (0, _mobxReact.observer)(function (_ref) {
77
77
  setVisible(visible);
78
78
  toggleLayoutBarLock(visible);
79
79
  },
80
+ showArrow: false,
80
81
  content: toggleMenus[currentMenuIs]
81
82
  },
82
83
  moreVisible: collapseList && collapseList.length > 0,
@@ -128,7 +128,7 @@ var Chat = (0, _mobxReact.observer)(function (props) {
128
128
  });
129
129
 
130
130
  // See ../record/index.tsx.
131
- var Record = (0, _mobxReact.observer)(function (props) {
131
+ var Record = (0, _mobxReact.observer)(function () {
132
132
  var t = (0, _i18n.useI18n)();
133
133
  var _useContext5 = (0, _react.useContext)(_store2.ActionBarContext),
134
134
  hasStartCloudRecordingPermission = _useContext5.hasStartCloudRecordingPermission,
@@ -208,7 +208,7 @@ var Record = (0, _mobxReact.observer)(function (props) {
208
208
  })]
209
209
  });
210
210
  });
211
- var Board = (0, _mobxReact.observer)(function (props) {
211
+ var Board = (0, _mobxReact.observer)(function () {
212
212
  var t = (0, _i18n.useI18n)();
213
213
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
214
214
  className: "fcr-more-popover-content__group-item contain-icon",
@@ -220,8 +220,7 @@ var Board = (0, _mobxReact.observer)(function (props) {
220
220
  })]
221
221
  });
222
222
  });
223
- var BreakoutRoom = (0, _mobxReact.observer)(function (props) {
224
- var t = (0, _i18n.useI18n)();
223
+ var BreakoutRoom = (0, _mobxReact.observer)(function () {
225
224
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
226
225
  className: "fcr-more-popover-content__group-item contain-icon",
227
226
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
@@ -232,8 +231,7 @@ var BreakoutRoom = (0, _mobxReact.observer)(function (props) {
232
231
  })]
233
232
  });
234
233
  });
235
- var Respond = (0, _mobxReact.observer)(function (props) {
236
- var t = (0, _i18n.useI18n)();
234
+ var Respond = (0, _mobxReact.observer)(function () {
237
235
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
238
236
  className: "fcr-more-popover-content__group-item contain-icon",
239
237
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
@@ -264,10 +262,9 @@ var LiveStreaming = (0, _mobxReact.observer)(function (props) {
264
262
  })]
265
263
  });
266
264
  });
267
- var Apps = (0, _mobxReact.observer)(function (props) {
265
+ var Apps = (0, _mobxReact.observer)(function () {
268
266
  var _useContext7 = (0, _react.useContext)(_store2.ActionBarContext),
269
267
  switchMenu = _useContext7.switchMenu;
270
- var transI18n = (0, _i18n.useI18n)();
271
268
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
272
269
  className: "fcr-more-popover-content__group-item contain-icon",
273
270
  onClick: function onClick() {
@@ -281,7 +278,7 @@ var Apps = (0, _mobxReact.observer)(function (props) {
281
278
  })]
282
279
  });
283
280
  });
284
- var TriggerSubscribeLanguage = (0, _mobxReact.observer)(function (props) {
281
+ var TriggerSubscribeLanguage = (0, _mobxReact.observer)(function () {
285
282
  var _useContext8 = (0, _react.useContext)(_store2.ActionBarContext),
286
283
  switchMenu = _useContext8.switchMenu;
287
284
  var transI18n = (0, _i18n.useI18n)();
@@ -35,21 +35,13 @@ var Participants = exports.Participants = (0, _mobxReact.observer)(function (_re
35
35
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
36
36
  tooltipVisible = _useState2[0],
37
37
  setTooltipVisible = _useState2[1];
38
- var _useState3 = (0, _react.useState)(false),
39
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
40
- dialogTooltipVisible = _useState4[0],
41
- setDialogTooltipVisible = _useState4[1];
42
38
  var title = transI18n('fmt_screenshare_controlbar_button_participant');
43
39
  var tooltip = transI18n('fmt_screenshare_controlbar_button_participant');
44
40
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
45
41
  mouseEnterDelay: 0,
46
42
  visible: tooltipVisible,
47
43
  onVisibleChange: function onVisibleChange(visible) {
48
- if (dialogTooltipVisible) {
49
- setTooltipVisible(false);
50
- } else {
51
- setTooltipVisible(visible);
52
- }
44
+ setTooltipVisible(visible);
53
45
  },
54
46
  content: tooltip,
55
47
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -18,8 +18,8 @@ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
18
18
  var _i18n = require("agora-ui-foundation/lib/i18n");
19
19
  var _store = require("../../store");
20
20
  var _item = require("../item");
21
+ var _popover2 = _interopRequireDefault(require("./popover"));
21
22
  require("./index.css");
22
- var _stopRecordDialog = require("./stop-record-dialog");
23
23
  var _jsxRuntime = require("react/jsx-runtime");
24
24
  var Record = exports.Record = (0, _mobxReact.observer)(function (_ref) {
25
25
  var id = _ref.id,
@@ -28,68 +28,17 @@ var Record = exports.Record = (0, _mobxReact.observer)(function (_ref) {
28
28
  var _useContext = (0, _react.useContext)(_store.ActionBarContext),
29
29
  hasStartCloudRecordingPermission = _useContext.hasStartCloudRecordingPermission,
30
30
  state = _useContext.cloudRecordingState,
31
- pauseCloudRecording = _useContext.pauseCloudRecording,
32
- resumeCloudRecording = _useContext.resumeCloudRecording,
33
31
  stopCloudRecording = _useContext.stopCloudRecording,
34
- toggleLayoutBarLock = _useContext.toggleLayoutBarLock;
32
+ startCloudRecording = _useContext.startCloudRecording;
35
33
  var _useState = (0, _react.useState)(false),
36
34
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
37
35
  visible = _useState2[0],
38
36
  setVisible = _useState2[1];
39
- var isButtonGroup = state === _type.FcrRecordingState.Started || state === _type.FcrRecordingState.Paused;
40
37
  var colors = {
41
38
  iconPrimary: 'var(--fcr_web_ui_scene_mainicon1)'
42
39
  };
43
- var icon = isButtonGroup ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
44
- className: "fcr-action-bar-record-btn-group",
45
- children: [state === _type.FcrRecordingState.Started ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
46
- content: t('fmt_record_button_pauserecording'),
47
- mouseEnterDelay: 0,
48
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
49
- onClick: pauseCloudRecording,
50
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
51
- type: _type2.FcrIconType.FCR_PAUSE2,
52
- colors: colors
53
- })
54
- })
55
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
56
- content: t('fmt_record_button_Cloudrecording_restore'),
57
- mouseEnterDelay: 0,
58
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
59
- onClick: resumeCloudRecording,
60
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
61
- type: _type2.FcrIconType.FCR_RECORDING_ON,
62
- colors: colors
63
- })
64
- })
65
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_stopRecordDialog.StopCloudRecording, {
66
- stopCloudRecording: stopCloudRecording,
67
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
68
- content: t('fmt_record_button_Cloudrecording_stop'),
69
- mouseEnterDelay: 0,
70
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
71
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
72
- type: _type2.FcrIconType.FCR_STOP3,
73
- colors: colors
74
- })
75
- })
76
- })
77
- })]
78
- }) : _type2.FcrIconType.FCR_RECORDING_ON;
79
- var title = hasStartCloudRecordingPermission ? state === _type.FcrRecordingState.Started ? t('fmt_record_button_Cloudrecording_stop') : state === _type.FcrRecordingState.Paused ? t('fmt_record_button_Cloudrecording_restore') : t('fmt_record_button_Cloudrecording') : t('fmt_recording_button_rrecording');
80
- var innerItem = /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.ActionBarItem, {
81
- id: id,
82
- order: order,
83
- onClick: function onClick() {
84
- return setVisible(function (visible) {
85
- return !visible;
86
- });
87
- },
88
- icon: icon,
89
- title: title,
90
- disabled: state === _type.FcrRecordingState.Starting,
91
- iconColors: colors
92
- });
40
+ var icon = state === _type.FcrRecordingState.Stopped ? _type2.FcrIconType.FCR_RECORDING_ON : _type2.FcrIconType.FCR_STOP3;
41
+ var title = hasStartCloudRecordingPermission ? state === _type.FcrRecordingState.Stopped ? t('fmt_record_button_Cloudrecording') : t('fmt_record_button_Cloudrecording_stop') : t('fmt_recording_button_rrecording');
93
42
  if (!hasStartCloudRecordingPermission) {
94
43
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
95
44
  content: "".concat(t('fmt_screenshare_button_localrecordingmiss'), " (").concat(t('fmt_screenshare_not_open_yet'), ")"),
@@ -104,63 +53,51 @@ var Record = exports.Record = (0, _mobxReact.observer)(function (_ref) {
104
53
  })
105
54
  });
106
55
  }
107
- return isButtonGroup ? innerItem : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
108
- content: t('fmt_record_button_Cloudrecording'),
109
- mouseEnterDelay: 0,
110
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
111
- trigger: "click",
112
- overlayClassName: "fcr-action-bar--more-popover",
56
+ var handleRecordMainClick = function handleRecordMainClick() {
57
+ if (state === _type.FcrRecordingState.Stopped) {
58
+ startCloudRecording();
59
+ } else {
60
+ stopCloudRecording();
61
+ }
62
+ };
63
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.ActionBarItem, {
64
+ active: visible,
65
+ id: id,
66
+ order: order,
67
+ onClick: handleRecordMainClick,
68
+ icon: icon,
69
+ title: title,
70
+ iconColors: colors,
71
+ children: state !== _type.FcrRecordingState.Stopped ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
72
+ showArrow: false,
73
+ overlayClassName: "fcr-action-bar--popover",
113
74
  visible: visible,
114
- onVisibleChange: function onVisibleChange(visible) {
115
- toggleLayoutBarLock(visible);
116
- setVisible(visible);
117
- },
118
- content: /*#__PURE__*/(0, _jsxRuntime.jsx)(RecordPopoverContent, {
75
+ trigger: "click",
76
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover2["default"], {
119
77
  onClick: function onClick() {
120
78
  return setVisible(false);
121
79
  }
122
80
  }),
123
- children: innerItem
124
- })
125
- });
126
- });
127
- var RecordPopoverContent = (0, _mobxReact.observer)(function (_ref2) {
128
- var _onClick = _ref2.onClick;
129
- var _useContext2 = (0, _react.useContext)(_store.ActionBarContext),
130
- hasStartCloudRecordingPermission = _useContext2.hasStartCloudRecordingPermission,
131
- state = _useContext2.cloudRecordingState,
132
- startCloudRecording = _useContext2.startCloudRecording,
133
- openDeviceSettingDialog = _useContext2.openDeviceSettingDialog;
134
- var t = (0, _i18n.useI18n)();
135
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
136
- className: "fcr-more-popover-content",
137
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
138
- className: "fcr-more-popover-content__group",
139
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
140
- className: "fcr-more-popover-content__group-item contain-icon",
141
- onClick: function onClick() {
142
- _onClick();
143
- if (state === _type.FcrRecordingState.Stopped) startCloudRecording();
144
- },
145
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
146
- type: _type2.FcrIconType.FCR_CLOUDRECORD,
147
- size: 24
148
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
149
- children: t('fmt_screenshare_controlbar_button_more_cloudRecord')
150
- })]
151
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
152
- disabled: true,
153
- className: "fcr-more-popover-content__group-item contain-icon",
154
- onClick: function onClick() {
155
- _onClick();
81
+ onVisibleChange: setVisible,
82
+ overlayInnerStyle: {
83
+ minWidth: '210px',
84
+ maxWidth: '370px',
85
+ width: 'fit-content'
86
+ },
87
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
88
+ onClick: function onClick(e) {
89
+ e.stopPropagation();
90
+ setVisible(true);
156
91
  },
157
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
158
- type: _type2.FcrIconType.FCR_RECORDING_ON,
92
+ className: "fcr-action-bar-extra ".concat(visible ? 'active' : ''),
93
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
94
+ type: _type2.FcrIconType.FCR_DROPUP4,
95
+ colors: {
96
+ iconPrimary: 'var(--fcr_web_ui_scene_mainicon1)'
97
+ },
159
98
  size: 24
160
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
161
- children: [t('fmt_record_button_Localrecording'), " (", t('fmt_screenshare_not_open_yet'), ")"]
162
- })]
163
- })]
164
- })
99
+ })
100
+ })
101
+ }) : null
165
102
  });
166
103
  });
@@ -0,0 +1,4 @@
1
+ declare const RecordPopoverContent: ({ onClick }: {
2
+ onClick: () => void;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ export default RecordPopoverContent;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _i18n = require("agora-ui-foundation/lib/i18n");
9
+ var _mobxReact = require("mobx-react");
10
+ var _react = require("react");
11
+ var _store = require("../../store");
12
+ var _type = require("fcr-core/lib/type");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ var RecordPopoverContent = (0, _mobxReact.observer)(function (_ref) {
15
+ var _onClick = _ref.onClick;
16
+ var _useContext = (0, _react.useContext)(_store.ActionBarContext),
17
+ state = _useContext.cloudRecordingState,
18
+ stopCloudRecording = _useContext.stopCloudRecording,
19
+ pauseCloudRecording = _useContext.pauseCloudRecording,
20
+ resumeCloudRecording = _useContext.resumeCloudRecording;
21
+ var t = (0, _i18n.useI18n)();
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
23
+ className: "fcr-more-popover-content",
24
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
25
+ className: "fcr-more-popover-content__group",
26
+ children: [state === _type.FcrRecordingState.Started && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
27
+ className: "fcr-more-popover-content__group-item contain-icon",
28
+ onClick: function onClick() {
29
+ _onClick();
30
+ pauseCloudRecording();
31
+ },
32
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
33
+ children: t('fmt_record_tips_recordingpaused')
34
+ })
35
+ }), state === _type.FcrRecordingState.Paused && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
36
+ className: "fcr-more-popover-content__group-item contain-icon",
37
+ onClick: function onClick() {
38
+ _onClick();
39
+ resumeCloudRecording();
40
+ },
41
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
42
+ children: t('fmt_record_tips_recordingrestored')
43
+ })
44
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
45
+ className: "fcr-more-popover-content__group-item contain-icon",
46
+ onClick: function onClick() {
47
+ _onClick();
48
+ stopCloudRecording();
49
+ },
50
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
51
+ children: t('fmt_status_label_stoprecord')
52
+ })
53
+ })]
54
+ })
55
+ });
56
+ });
57
+ var _default = exports["default"] = RecordPopoverContent;
@@ -38,6 +38,7 @@ var StopCloudRecording = exports.StopCloudRecording = (0, _mobxReact.observer)(f
38
38
  })]
39
39
  });
40
40
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
41
+ showArrow: false,
41
42
  overlayClassName: "fcr-stop-cloud-recording-popover",
42
43
  visible: visible,
43
44
  onVisibleChange: setVisible,