fcr-ui-scene 3.6.1 → 3.6.2

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 (292) hide show
  1. package/dist/132.js +2 -0
  2. package/dist/132.js.LICENSE.txt +311 -0
  3. package/dist/317.js +2 -0
  4. package/dist/317.js.LICENSE.txt +20 -0
  5. package/dist/651.js +2 -0
  6. package/dist/651.js.LICENSE.txt +1 -0
  7. package/dist/689343b64b60bfb7ffff.png +0 -0
  8. package/dist/73.js +1 -0
  9. package/dist/885f9369ea05a8ac0e56.png +0 -0
  10. package/dist/90f383876a6e93e7c7ca.png +0 -0
  11. package/dist/9b37584780995fc5df8c.gif +0 -0
  12. package/dist/annotation.e5cbd3a70b6d42361872.css +1274 -0
  13. package/dist/annotation.html +1 -0
  14. package/dist/annotation.js +2 -0
  15. package/dist/annotation.js.LICENSE.txt +252 -0
  16. package/dist/assets/browser/images/default1.jpg +0 -0
  17. package/dist/assets/browser/images/default2.jpg +0 -0
  18. package/dist/assets/browser/images/default3.jpg +0 -0
  19. package/dist/assets/browser/images/default4.jpg +0 -0
  20. package/dist/assets/browser/images/default5.jpg +0 -0
  21. package/dist/assets/browser/images/default6.jpg +0 -0
  22. package/dist/assets/browser/images/default7.jpg +0 -0
  23. package/dist/assets/browser/sound_effects/pretest.mp3 +0 -0
  24. package/dist/assets/browser/sound_effects/recording_started.mp3 +0 -0
  25. package/dist/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  26. package/dist/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  27. package/dist/assets/browser/videos/default8.mp4 +0 -0
  28. package/dist/assets/browser/videos/default9.mp4 +0 -0
  29. package/dist/assets/cursors/fcr_whiteboard_input.ico +0 -0
  30. package/dist/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  31. package/dist/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  32. package/dist/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  33. package/dist/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  34. package/dist/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  35. package/dist/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  36. package/dist/assets/electron/images/default1.jpg +0 -0
  37. package/dist/assets/electron/images/default2.jpg +0 -0
  38. package/dist/assets/electron/sound_effects/pretest.mp3 +0 -0
  39. package/dist/assets/electron/videos/default8.mp4 +0 -0
  40. package/dist/assets/fcr_chat_reddot.svg +5 -0
  41. package/dist/assets/fcr_defaultpage.png +0 -0
  42. package/dist/assets/fcr_grid_big.svg +3 -0
  43. package/dist/assets/fcr_leave2.svg +58 -0
  44. package/dist/assets/fcr_listontop_big.svg +3 -0
  45. package/dist/assets/full-screen-error-boundary-img.png +0 -0
  46. package/dist/assets/leave-meeting.png +0 -0
  47. package/dist/assets/loading.gif +0 -0
  48. package/dist/assets/login_confirm.png +0 -0
  49. package/dist/assets/pretest.mp3 +0 -0
  50. package/dist/assets/state-bar-logo.png +0 -0
  51. package/dist/assets/step-gradient.svg +10 -0
  52. package/dist/b74b002687a3a3346bec.png +0 -0
  53. package/dist/b94869094481702f949b.png +0 -0
  54. package/dist/ebeace75fd46b90d890e.png +0 -0
  55. package/dist/electron/app.js +194 -0
  56. package/dist/electron/bootstrap-dev.js +46 -0
  57. package/dist/electron/bootstrap-sdk.js +211 -0
  58. package/dist/electron/default-options.js +25 -0
  59. package/dist/electron/env.js +13 -0
  60. package/dist/electron/index.js +20 -0
  61. package/dist/electron/injections.js +903 -0
  62. package/dist/electron/ipc/ipc.js +141 -0
  63. package/dist/electron/ipc/type.js +19 -0
  64. package/dist/electron/logger.js +65 -0
  65. package/dist/electron/main.js +94 -0
  66. package/dist/electron/plugins/devtool-shortcut.js +33 -0
  67. package/dist/electron/plugins/meeting-state.js +39 -0
  68. package/dist/electron/plugins/screenshot.js +54 -0
  69. package/dist/electron/preload.js +108 -0
  70. package/dist/electron/tools.js +66 -0
  71. package/dist/electron/window.js +123 -0
  72. package/dist/extensions/agora-extension-virtual-background/agora-wasm.wasm +0 -0
  73. package/dist/extensions/ai-denoiser/denoiser-wasm-simd.wasm +0 -0
  74. package/dist/extensions/ai-denoiser/denoiser-wasm.js +1 -0
  75. package/dist/extensions/ai-denoiser/denoiser-wasm.wasm +0 -0
  76. package/dist/fad688b9135b15d6c405.png +0 -0
  77. package/dist/index.html +224 -0
  78. package/dist/main.393a2a91ab7fc05ffce6.css +15403 -0
  79. package/dist/main.js +2 -0
  80. package/dist/main.js.LICENSE.txt +272 -0
  81. package/dist/worker-entry.worker.js.LICENSE.txt +13 -0
  82. package/lib/creator.d.ts +5 -0
  83. package/lib/creator.js +106 -17
  84. package/lib/electron/bootstrap-sdk.js +4 -0
  85. package/lib/electron/injections.d.ts +4 -0
  86. package/lib/electron/injections.js +37 -8
  87. package/lib/electron/ipc/ipc.d.ts +1 -0
  88. package/lib/electron/ipc/ipc.js +4 -0
  89. package/lib/electron/main.js +6 -2
  90. package/lib/electron/plugins/screenshot.js +4 -2
  91. package/lib/electron/preload.js +7 -2
  92. package/lib/electron/window.js +4 -3
  93. package/lib/fragments/annotation/index.d.ts +10 -0
  94. package/lib/fragments/annotation/index.js +106 -0
  95. package/lib/fragments/annotation/libs.d.ts +55 -0
  96. package/lib/fragments/annotation/libs.js +93 -0
  97. package/lib/fragments/annotation/store.d.ts +25 -0
  98. package/lib/fragments/annotation/store.js +485 -0
  99. package/lib/fragments/annotation/view.d.ts +2 -0
  100. package/lib/fragments/annotation/view.js +23 -0
  101. package/lib/fragments/base.d.ts +10 -0
  102. package/lib/fragments/base.js +44 -0
  103. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  104. package/lib/modules/action-bar/index.css +7 -0
  105. package/lib/modules/action-bar/index.d.ts +2 -0
  106. package/lib/modules/action-bar/index.js +1 -0
  107. package/lib/modules/action-bar/store.d.ts +6 -2
  108. package/lib/modules/action-bar/store.js +15 -9
  109. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  110. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  111. package/lib/modules/annotation/components/control-bar/index.js +101 -0
  112. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  113. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  114. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  115. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  116. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  117. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +59 -0
  118. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +11 -0
  119. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +59 -0
  120. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  121. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  122. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +17 -0
  123. package/lib/modules/annotation/components/toolbar/components/item/item.js +115 -0
  124. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  125. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  126. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  127. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  128. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  129. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  130. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  131. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  132. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  133. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  134. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  135. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  136. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  137. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  138. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  139. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  140. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  141. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  142. package/lib/modules/annotation/index.d.ts +36 -0
  143. package/lib/modules/annotation/index.js +168 -0
  144. package/lib/modules/annotation/store.d.ts +85 -0
  145. package/lib/modules/annotation/store.js +648 -0
  146. package/lib/modules/annotation/style.css +26 -0
  147. package/lib/modules/annotation/view.d.ts +2 -0
  148. package/lib/modules/annotation/view.js +32 -0
  149. package/lib/modules/chat/view.js +112 -100
  150. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  151. package/lib/modules/components/annotation-menu/index.js +119 -0
  152. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  153. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +2 -0
  154. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +6 -2
  155. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  156. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
  157. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  158. package/lib/modules/components/member-window/index.d.ts +1 -1
  159. package/lib/modules/components/member-window/index.js +8 -5
  160. package/lib/modules/components/member-window/types.d.ts +2 -0
  161. package/lib/modules/components/security-menu/index.js +7 -6
  162. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  163. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  164. package/lib/modules/control-bar/index.d.ts +6 -2
  165. package/lib/modules/control-bar/index.js +5 -2
  166. package/lib/modules/control-bar/store.d.ts +23 -7
  167. package/lib/modules/control-bar/store.js +112 -77
  168. package/lib/modules/control-bar/view.js +7 -3
  169. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  170. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  171. package/lib/modules/dialog/components/chat/index.js +1 -1
  172. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  173. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  174. package/lib/modules/dialog/components/participant/index.js +1 -1
  175. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  176. package/lib/modules/dialog/components/video-window/index.js +1 -0
  177. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  178. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  179. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  180. package/lib/modules/dialog/hooks/useElectron.js +11 -2
  181. package/lib/modules/dialog/index.d.ts +2 -0
  182. package/lib/modules/dialog/index.js +2 -1
  183. package/lib/modules/dialog/store.d.ts +9 -2
  184. package/lib/modules/dialog/store.js +46 -6
  185. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  186. package/lib/modules/event-confirm/components/window/index.js +188 -0
  187. package/lib/modules/event-confirm/index.d.ts +4 -4
  188. package/lib/modules/event-confirm/index.js +6 -4
  189. package/lib/modules/event-confirm/store.d.ts +4 -5
  190. package/lib/modules/event-confirm/store.js +35 -26
  191. package/lib/modules/event-confirm/view.js +23 -171
  192. package/lib/modules/event-sound/index.js +1 -1
  193. package/lib/modules/layout/components/CommonVideoRenderer.js +30 -16
  194. package/lib/modules/layout/index.d.ts +4 -0
  195. package/lib/modules/layout/index.js +2 -0
  196. package/lib/modules/layout/store.d.ts +14 -2
  197. package/lib/modules/layout/store.js +77 -45
  198. package/lib/modules/participant/index.d.ts +2 -0
  199. package/lib/modules/participant/index.js +2 -1
  200. package/lib/modules/participant/store.d.ts +5 -2
  201. package/lib/modules/participant/store.js +45 -28
  202. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  203. package/lib/modules/share-screen/components/selection/index.js +18 -42
  204. package/lib/modules/share-screen/index.d.ts +6 -2
  205. package/lib/modules/share-screen/index.js +4 -2
  206. package/lib/modules/share-screen/store.d.ts +38 -46
  207. package/lib/modules/share-screen/store.js +263 -693
  208. package/lib/modules/share-screen/view.js +2 -2
  209. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  210. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  211. package/lib/modules/state-bar/index.d.ts +2 -0
  212. package/lib/modules/state-bar/index.js +1 -0
  213. package/lib/modules/state-bar/store.d.ts +5 -1
  214. package/lib/modules/state-bar/store.js +9 -1
  215. package/lib/modules/state-bar/view.js +3 -2
  216. package/lib/modules/video-window/components/members/index.js +2 -1
  217. package/lib/modules/waiting-room-layout/store.js +1 -1
  218. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  219. package/lib/modules/whiteboard/components/control-bar/store.js +8 -1
  220. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  221. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  222. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  223. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  224. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  225. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  226. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  227. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  228. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  229. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  230. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  231. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  232. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  233. package/lib/modules/whiteboard/components/toolbar/store.d.ts +9 -2
  234. package/lib/modules/whiteboard/components/toolbar/store.js +30 -6
  235. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  236. package/lib/modules/whiteboard/index.d.ts +2 -0
  237. package/lib/modules/whiteboard/index.js +20 -20
  238. package/lib/plugins/browser-runtime-plugin.js +10 -1
  239. package/lib/providers/annotation-provider.d.ts +77 -0
  240. package/lib/providers/annotation-provider.js +411 -0
  241. package/lib/providers/interpreter-provider.d.ts +1 -0
  242. package/lib/providers/interpreter-provider.js +182 -154
  243. package/lib/providers/privilege-provider.d.ts +35 -6
  244. package/lib/providers/privilege-provider.js +105 -49
  245. package/lib/providers/renderer-provider.js +3 -7
  246. package/lib/providers/room-provider.d.ts +13 -1
  247. package/lib/providers/room-provider.js +21 -7
  248. package/lib/providers/screen-share-provider.d.ts +131 -34
  249. package/lib/providers/screen-share-provider.js +561 -173
  250. package/lib/providers/sharing-provider.d.ts +33 -0
  251. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +87 -39
  252. package/lib/runtime.d.ts +6 -1
  253. package/lib/scenes/main-scene.d.ts +7 -2
  254. package/lib/scenes/main-scene.js +54 -25
  255. package/lib/scenes/waiting-scene.d.ts +6 -0
  256. package/lib/scenes/waiting-scene.js +15 -5
  257. package/lib/shared-data-source/member-data.d.ts +21 -5
  258. package/lib/shared-data-source/member-data.js +69 -17
  259. package/lib/shared-data-source/screen-share-data.d.ts +270 -0
  260. package/lib/shared-data-source/screen-share-data.js +389 -0
  261. package/lib/shared-data-source/security-data.d.ts +4 -1
  262. package/lib/shared-data-source/security-data.js +5 -2
  263. package/lib/shared-data-source/setting.js +6 -4
  264. package/lib/type.d.ts +53 -0
  265. package/lib/ui-manager.d.ts +3 -2
  266. package/lib/ui-manager.js +6 -4
  267. package/lib/ui-scene.js +59 -44
  268. package/lib/utilities/constant.d.ts +8 -1
  269. package/lib/utilities/constant.js +7 -0
  270. package/lib/utilities/logger.d.ts +4 -0
  271. package/lib/utilities/logger.js +8 -1
  272. package/lib/utilities/renderer-event.d.ts +3 -0
  273. package/lib/utilities/renderer-event.js +14 -1
  274. package/lib/utilities/screen.js +2 -1
  275. package/lib/utilities/tools.d.ts +18 -1
  276. package/lib/utilities/tools.js +48 -2
  277. package/package.json +6 -6
  278. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  279. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  280. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  281. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  282. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  283. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  284. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  285. package/public/assets/fcr_chat_reddot.svg +3 -3
  286. package/public/assets/fcr_grid_big.svg +1 -1
  287. package/public/assets/fcr_leave2.svg +14 -14
  288. package/public/assets/fcr_listontop_big.svg +1 -1
  289. package/public/assets/step-gradient.svg +1 -1
  290. package/public/fragment.html +10 -0
  291. package/public/index.html +3 -1
  292. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
@@ -155,6 +155,7 @@ _ref = (_setCurrentModalDecs = [_mobx.action, _mobx.action.bound], _openParticip
155
155
  var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
156
156
  function ParticipantStore(_ref2) {
157
157
  var _this = this,
158
+ _this$_roomControl$ge,
158
159
  _this$_roomStore;
159
160
  var _roomControl = _ref2.roomControl,
160
161
  securityStore = _ref2.securityStore,
@@ -176,12 +177,12 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
176
177
  dialogProvider = _ref2.dialogProvider,
177
178
  abilityProvider = _ref2.abilityProvider,
178
179
  messageProvider = _ref2.messageProvider,
179
- sharedSecuritySharedDataSource = _ref2.sharedSecuritySharedDataSource;
180
+ sharedSecuritySharedDataSource = _ref2.sharedSecuritySharedDataSource,
181
+ sharedScreenShareSharedDataSource = _ref2.sharedScreenShareSharedDataSource;
180
182
  (0, _classCallCheck2["default"])(this, ParticipantStore);
181
183
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
182
184
  prefix: 'ParticipantStore'
183
185
  })));
184
- (0, _defineProperty2["default"])(this, "_screenSharingState", _fcrCore.FcrMediaSourceState.CLOSE);
185
186
  (0, _defineProperty2["default"])(this, "_disposers", []);
186
187
  (0, _defineProperty2["default"])(this, "_changeNameDialogKey", []);
187
188
  (0, _defineProperty2["default"])(this, "_unmuteAudioTimestamp", new Map());
@@ -361,11 +362,12 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
361
362
  this._sharedVideoWindowDataSource = sharedVideoWindowDataSource;
362
363
  this._sharedChatDataSource = sharedChatDataSource;
363
364
  this._sharedSecuritySharedDataSource = sharedSecuritySharedDataSource;
365
+ this._sharedScreenShareSharedDataSource = sharedScreenShareSharedDataSource;
364
366
  this.allowUnmute = this._securityStore.allowUnmuteSelfAudio();
365
367
  this.joinWithMuteAudio = this._securityStore.allowJoinWithMuteAudio();
366
368
  this._uiEventStore.addObserver(this._eventObserver);
367
369
  this._peerSessionControl.addObserver(this._peerSessionObserver);
368
- this._roomControl.getBoardControl().addObserver(this._whitebaordObderver);
370
+ (_this$_roomControl$ge = this._roomControl.getSharingControl()) === null || _this$_roomControl$ge === void 0 || _this$_roomControl$ge.getBoardControl().addObserver(this._whitebaordObderver);
369
371
  this._roomControl.getPrivilegeControl().addObserver(this._privilegeControlObserver);
370
372
  (_this$_roomStore = this._roomStore) === null || _this$_roomStore === void 0 || _this$_roomStore.addObserver(this._roomStoreObserver);
371
373
  this._sharedInterpreterDataSource = sharedInterpreterDataSource;
@@ -522,6 +524,11 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
522
524
  get: function get() {
523
525
  return this._sharedSettingDataSource.setting.spotlightEnabled;
524
526
  }
527
+ }, {
528
+ key: "screenSharingOwner",
529
+ get: function get() {
530
+ return this._sharedScreenShareSharedDataSource.screenSharingOwner;
531
+ }
525
532
  }, {
526
533
  key: "userListSource",
527
534
  get: function get() {
@@ -666,7 +673,7 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
666
673
  this._dialogProvider.removeObserver(this._eventObserver);
667
674
  this._userControl.removeObserver(this._userObserver);
668
675
  this._peerSessionControl.removeObserver(this._peerSessionObserver);
669
- this._roomControl.getBoardControl().removeObserver(this._whitebaordObderver);
676
+ this._roomControl.getSharingControl().getBoardControl().removeObserver(this._whitebaordObderver);
670
677
  this._roomControl.getPrivilegeControl().removeObserver(this._privilegeControlObserver);
671
678
  this._roomStore.removeObserver(this._roomStoreObserver);
672
679
  this._sharedWaitingRoomDataSource.release();
@@ -1252,12 +1259,6 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
1252
1259
  if (action === _constant.FcrUIAction.CHANGE_PARTICIPANT_TAB) {
1253
1260
  this.handleActiveTab(payload);
1254
1261
  }
1255
- if (action === _constant.FcrUIAction.START_SHARE_SCREEN) {
1256
- this._screenSharingState = _fcrCore.FcrMediaSourceState.OPEN;
1257
- }
1258
- if (action === _constant.FcrUIAction.STOP_SHARE_SCREEN) {
1259
- this._screenSharingState = _fcrCore.FcrMediaSourceState.CLOSE;
1260
- }
1261
1262
  if (action === _constant.FcrUIAction.PARTICIPANT_ACTION) {
1262
1263
  this.handlerUserAction(payload.action, payload.userId);
1263
1264
  }
@@ -1283,17 +1284,16 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
1283
1284
  value:
1284
1285
  // user actions
1285
1286
  function _muteUserAudio(user) {
1287
+ var targetUsers = this._streamControl.getStreamsByUserId(user);
1288
+ var targetUser = targetUsers.find(function (user) {
1289
+ return user.videoSourceType === _type2.AgoraRteVideoSourceType.CAMERA || user.videoSourceType === _type2.AgoraRteVideoSourceType.NONE;
1290
+ });
1291
+ // const isNormal = targetUser?.connectorType === FcrRoomConnectorType.NONE;
1286
1292
  var isSelf = user === this.localUser.userId;
1287
1293
  if (isSelf) {
1288
1294
  this._deviceStreamStore.enableMicrophoneWithPreCheck(false);
1289
- } else {
1290
- var targetUsers = this._streamControl.getStreamsByUserId(user);
1291
- var targetUser = targetUsers.find(function (user) {
1292
- return user.audioSourceType === _type2.AgoraRteAudioSourceType.MICROPHONE;
1293
- });
1294
- if (!targetUser) {
1295
- return;
1296
- }
1295
+ }
1296
+ if (targetUser) {
1297
1297
  this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, targetUser.streamId, {
1298
1298
  audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
1299
1299
  videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
@@ -1313,14 +1313,26 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
1313
1313
  return;
1314
1314
  }
1315
1315
  this._unmuteAudioTimestamp.set(userId, now);
1316
- this._peerSessionControl.startPeerSession({
1317
- sessionKey: 'REQUEST_OPEN_MICROPHONE',
1318
- receiverId: userId,
1319
- duration: SESSION_DURATION,
1320
- payload: {
1321
- sender: this.localUser
1316
+ var streamInfos = this._streamControl.getStreamsByUserId(userId);
1317
+ if (streamInfos && streamInfos.length > 0) {
1318
+ var streamInfo = streamInfos[0];
1319
+ var isNotCommonClientConnectorType = streamInfo.connectorType !== _imports.AgoraRteRoomConnectorType.NONE;
1320
+ if (!isNotCommonClientConnectorType) {
1321
+ this._peerSessionControl.startPeerSession({
1322
+ sessionKey: 'REQUEST_OPEN_MICROPHONE',
1323
+ receiverId: userId,
1324
+ duration: SESSION_DURATION,
1325
+ payload: {
1326
+ sender: this.localUser
1327
+ }
1328
+ });
1329
+ } else {
1330
+ this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, streamInfo.streamId, {
1331
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
1332
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE
1333
+ }));
1322
1334
  }
1323
- });
1335
+ }
1324
1336
  }
1325
1337
  }
1326
1338
  }, {
@@ -1380,6 +1392,7 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
1380
1392
  return u.userId === userId;
1381
1393
  });
1382
1394
  if (userData) {
1395
+ var _this$screenSharingOw;
1383
1396
  var hasPermissionToSendPrivateMessage = this._securityStore.hasPermissionToSendPrivateMessage(userData.userInfo.userRole);
1384
1397
  if (!hasPermissionToSendPrivateMessage) {
1385
1398
  this._messageProvider.showToast({
@@ -1391,14 +1404,18 @@ var ParticipantStore = exports["default"] = /*#__PURE__*/function () {
1391
1404
  if (!this._securityStore.permitPrivateChat(userId)) {
1392
1405
  return;
1393
1406
  }
1407
+ this._chatProvider.setPrivateChatTargetUser(userData.userInfo, this.activeTab);
1408
+ if ((0, _env.isElectron)() && ((_this$screenSharingOw = this.screenSharingOwner) === null || _this$screenSharingOw === void 0 ? void 0 : _this$screenSharingOw.userId) === this.localUser.userId) {
1409
+ this._sharedLayoutDataSource.setParticipantsRenderAt('dialog');
1410
+ this._uiEventStore.openDialog(_constant.FcrUIDialogKey.CHAT);
1411
+ return;
1412
+ }
1394
1413
  if (this._sharedLayoutDataSource.chatRenderAt !== 'dialog') {
1395
1414
  this._sharedLayoutDataSource.setAsideLayout({
1396
1415
  chat: true
1397
1416
  });
1398
1417
  this._sharedChatDataSource.activeTab = this.activeTab;
1399
- }
1400
- this._chatProvider.setPrivateChatTargetUser(userData.userInfo, this.activeTab);
1401
- if ((0, _env.isElectron)() && this._screenSharingState === _fcrCore.FcrMediaSourceState.OPEN || this._sharedLayoutDataSource.chatRenderAt === 'dialog') {
1418
+ } else {
1402
1419
  this._uiEventStore.openDialog(_constant.FcrUIDialogKey.CHAT);
1403
1420
  }
1404
1421
  }
@@ -33,7 +33,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
33
33
  var _react = require("react");
34
34
  var _radio = require("agora-ui-foundation/lib/components/radio");
35
35
  var _checkbox = require("agora-ui-foundation/lib/components/checkbox");
36
- var _switch = require("agora-ui-foundation/lib/components/switch");
37
36
  var _volumeIndicator = require("agora-ui-foundation/lib/components/volume-indicator");
38
37
  var _slider = require("agora-ui-foundation/lib/components/slider");
39
38
  var _i18n = require("agora-ui-foundation/lib/i18n");
@@ -259,22 +258,12 @@ var AudioSettings = exports.AudioSettings = (0, _mobxReact.observer)(function ()
259
258
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
260
259
  className: ns.e('section-title'),
261
260
  children: t('fmt_setting_label_professional')
262
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
261
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
263
262
  className: ns.e('switch-wrapper'),
264
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
263
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
265
264
  className: ns.e('switch-wrapper-orinalvoise-tip'),
266
265
  children: t('fmt_setting_option_orinalvoise')
267
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
268
- className: ns.e('switch-wrapper-switch'),
269
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_switch.FcrSwitch, {
270
- value: setting.audioVoiceChanger,
271
- onChange: function onChange(v) {
272
- setSetting({
273
- audioVoiceChanger: v
274
- });
275
- }
276
- })
277
- })]
266
+ })
278
267
  }), setting.audioVoiceChanger && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
279
268
  className: ns.e('options-section'),
280
269
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -55,8 +55,6 @@ require("core-js/modules/esnext.typed-array.filter-reject.js");
55
55
  require("core-js/modules/esnext.typed-array.group-by.js");
56
56
  require("core-js/modules/esnext.typed-array.to-spliced.js");
57
57
  require("core-js/modules/esnext.typed-array.unique-by.js");
58
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
59
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
60
58
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
61
59
  var _card = require("agora-ui-foundation/lib/components/card");
62
60
  var _type = require("agora-rte-sdk/lib/core/rtc/type");
@@ -80,7 +78,7 @@ var ShareSelectionWindowType = /*#__PURE__*/function (ShareSelectionWindowType)
80
78
  }(ShareSelectionWindowType || {});
81
79
  var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function () {
82
80
  var _useContext = (0, _react.useContext)(_store.StoreContext),
83
- currentSelection = _useContext.currentSelection,
81
+ currentSelectionId = _useContext.currentSelectionId,
84
82
  applicationCaptureSources = _useContext.applicationCaptureSources,
85
83
  screenCaptureSources = _useContext.screenCaptureSources,
86
84
  currentSelectionType = _useContext.currentSelectionType,
@@ -96,7 +94,8 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
96
94
  openRelaunchTipsDialog = _useContext.openRelaunchTipsDialog,
97
95
  shareWithAudio = _useContext.shareWithAudio,
98
96
  setShareWithAudioState = _useContext.setShareWithAudioState,
99
- currentSelectionBounds = _useContext.currentSelectionBounds;
97
+ currentSelectionBounds = _useContext.currentSelectionBounds,
98
+ handleToggleScreenShareWithAudio = _useContext.handleToggleScreenShareWithAudio;
100
99
  var _useState = (0, _react.useState)(false),
101
100
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
102
101
  loading = _useState2[0],
@@ -109,37 +108,14 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
109
108
  setLoading(false);
110
109
  };
111
110
  }, []);
112
- var toggleShareWithAudio = /*#__PURE__*/function () {
113
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(target) {
114
- return _regenerator["default"].wrap(function _callee$(_context) {
115
- while (1) switch (_context.prev = _context.next) {
116
- case 0:
117
- if (target) {
118
- _context.next = 3;
119
- break;
120
- }
121
- setShareWithAudioState(target);
122
- return _context.abrupt("return");
123
- case 3:
124
- setShareWithAudioState(target);
125
- case 4:
126
- case "end":
127
- return _context.stop();
128
- }
129
- }, _callee);
130
- }));
131
- return function toggleShareWithAudio(_x) {
132
- return _ref.apply(this, arguments);
133
- };
134
- }();
135
111
  var handleOkClick = (0, _react.useCallback)((0, _debounce["default"])(function () {
136
- if (currentSelection) {
112
+ if (currentSelectionId) {
137
113
  setLoading(true);
138
- handleStartShare(currentSelection, currentSelectionType, shareWithAudio, _shareAudio.AudioProcessingChannel.MONO, currentSelectionBounds)["finally"](function () {
114
+ handleStartShare(currentSelectionId, currentSelectionType, shareWithAudio, _shareAudio.AudioProcessingChannel.MONO, currentSelectionBounds)["finally"](function () {
139
115
  setLoading(false);
140
116
  });
141
117
  }
142
- }, 300), [currentSelection, currentSelectionType, shareWithAudio, handleStartShare]);
118
+ }, 300), [currentSelectionId, currentSelectionType, shareWithAudio, handleStartShare]);
143
119
  var transI18n = (0, _i18n.useI18n)();
144
120
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
145
121
  className: "share-selection-window",
@@ -154,7 +130,7 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
154
130
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.FcrCard, {
155
131
  disabled: isWhiteboard && !!(boardOwnerUser !== null && boardOwnerUser !== void 0 && boardOwnerUser.userId),
156
132
  title: isWhiteboard ? t('fmt_share_options_whiteboard') : screen.title,
157
- active: currentSelectionType === type && screen.id === currentSelection || screen.id === currentSelection,
133
+ active: currentSelectionType === type && screen.id === currentSelectionId || screen.id === currentSelectionId,
158
134
  onCardClick: function onCardClick() {
159
135
  handleChooseScreen(screen.id, type, screenWithBounds.bounds);
160
136
  },
@@ -197,7 +173,7 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
197
173
  className: "share-selection-window__share-application share-selection-window__share-card",
198
174
  children: applicationCaptureSources.map(function (application) {
199
175
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.FcrCard, {
200
- active: currentSelectionType === _type.AgoraRtcScreenCaptureType.WINDOW && application.id === currentSelection,
176
+ active: currentSelectionType === _type.AgoraRtcScreenCaptureType.WINDOW && application.id === currentSelectionId,
201
177
  onCardClick: function onCardClick() {
202
178
  handleChooseScreen(application.id, _type.AgoraRtcScreenCaptureType.WINDOW, application.bounds);
203
179
  },
@@ -219,14 +195,14 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
219
195
  className: "share-selection-window__footer",
220
196
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
221
197
  className: "share-selection-window__footer-action",
222
- children: currentSelection.split('-')[0] !== 'whiteboard' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_shareAudio.ShareAudio, {
198
+ children: currentSelectionId.split('-')[0] !== 'whiteboard' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_shareAudio.ShareAudio, {
223
199
  shareWithAudio: shareWithAudio,
224
- toggleShareWithAudio: toggleShareWithAudio,
200
+ toggleShareWithAudio: handleToggleScreenShareWithAudio,
225
201
  currentAudioChannel: currentShareAudioProcessingChannel,
226
202
  onSwitchAudioChannel: setShareAudioProcessingChannel
227
203
  })
228
204
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
229
- disabled: currentSelection.split('-')[0] === 'whiteboard' && !!(boardOwnerUser !== null && boardOwnerUser !== void 0 && boardOwnerUser.userId) || loading,
205
+ disabled: currentSelectionId.split('-')[0] === 'whiteboard' && !!(boardOwnerUser !== null && boardOwnerUser !== void 0 && boardOwnerUser.userId) || loading,
230
206
  type: "primary",
231
207
  shape: "rounded",
232
208
  size: "XS",
@@ -240,13 +216,13 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
240
216
  })]
241
217
  });
242
218
  });
243
- var ThumbnailRender = function ThumbnailRender(_ref2) {
244
- var image = _ref2.image,
245
- _ref2$width = _ref2.width,
246
- width = _ref2$width === void 0 ? 100 : _ref2$width,
247
- _ref2$height = _ref2.height,
248
- height = _ref2$height === void 0 ? 100 : _ref2$height,
249
- title = _ref2.title;
219
+ var ThumbnailRender = function ThumbnailRender(_ref) {
220
+ var image = _ref.image,
221
+ _ref$width = _ref.width,
222
+ width = _ref$width === void 0 ? 100 : _ref$width,
223
+ _ref$height = _ref.height,
224
+ height = _ref$height === void 0 ? 100 : _ref$height,
225
+ title = _ref.title;
250
226
  var data = (0, _react.useMemo)(function () {
251
227
  return (0, _tools.uint8ArrayToImageData)({
252
228
  buffer: image,
@@ -8,7 +8,9 @@ import { FcrUIMessageProvider } from '../../providers/message-provider';
8
8
  import { FcrUIDialogProvider } from '../../providers/dialog-provider';
9
9
  import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
10
10
  import { FcrUISharedConfigDataSource } from '../../shared-data-source/config';
11
- import { FcrUIScreenShareDataSource } from '../../shared-data-source/screen-share-data-source';
11
+ import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
12
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
13
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
12
14
  export declare class ShareScreenUIModule extends UIModule {
13
15
  private _store?;
14
16
  mainRoomControlProvider?: FcrUIMainRoomControlProvider;
@@ -21,7 +23,9 @@ export declare class ShareScreenUIModule extends UIModule {
21
23
  roomProvider?: FcrUIRoomProvider;
22
24
  sharedConfigDataSource?: FcrUISharedConfigDataSource;
23
25
  connectionProvider?: FcrUIConnectionProvider;
24
- screenShareDataSource?: FcrUIScreenShareDataSource;
26
+ screenShareProvider?: FcrUIScreenShareProvider;
27
+ annotationProvider?: FcrUIAnnotationProvider;
28
+ sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
25
29
  onNodeWillActive(): void;
26
30
  onNodeWillInactive(): void;
27
31
  getComponent(): import("react/jsx-runtime").JSX.Element;
@@ -51,8 +51,10 @@ var ShareScreenUIModule = exports.ShareScreenUIModule = /*#__PURE__*/function (_
51
51
  sharedMemberDataSource: this.sharedMemberDataSource,
52
52
  roomProvider: this.roomProvider,
53
53
  sharedConfigDataSource: this.sharedConfigDataSource,
54
- connectionProvider: this.connectionProvider,
55
- screenShareDataSource: this.screenShareDataSource
54
+ screenShareProvider: this.screenShareProvider,
55
+ annotationProvider: this.annotationProvider,
56
+ sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource,
57
+ connectionProvider: this.connectionProvider
56
58
  });
57
59
  }
58
60
  }, {
@@ -1,19 +1,21 @@
1
1
  import { FcrConnectionState, FcrMediaSourceState } from 'fcr-core';
2
+ import { FcrScreenTrack } from 'fcr-core/lib/media-control/type';
2
3
  import { FcrUserInfo } from 'fcr-core/lib/type';
3
- import { AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
4
+ import { AgoraRtcScreenCaptureType } from 'agora-rte-sdk/lib/core/rtc/type';
4
5
  import { AudioProcessingChannel } from 'agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio';
5
6
  import { FcrMainRoomControl } from 'fcr-core/lib/room-control/type';
6
7
  import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
7
8
  import { FcrUIEventProvider } from '../../providers/event-provider';
8
9
  import { FcrUIDeviceProvider } from '../../providers/device-provider';
9
- import { FcrUIDisplayCaptureSource } from './types';
10
10
  import { FcrUIMessageProvider } from '../../providers/message-provider';
11
11
  import { FcrUIDialogProvider } from '../../providers/dialog-provider';
12
12
  import { CurrentShareBounds } from '../control-bar/types';
13
13
  import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
14
14
  import { FcrUIConnectionProvider, FcrUIRoomProvider } from '../../providers/room-provider';
15
15
  import { FcrUISharedConfigDataSource } from '../../shared-data-source/config';
16
- import { FcrUIScreenShareDataSource } from '../../shared-data-source/screen-share-data-source';
16
+ import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
17
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
18
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
17
19
  export default class ShareScreenStore {
18
20
  protected logger: import("agora-foundation/lib/logger").Logger;
19
21
  private _disposers;
@@ -22,51 +24,46 @@ export default class ShareScreenStore {
22
24
  private _messageProvider;
23
25
  private _dialogProvider;
24
26
  private _roomProvider;
25
- private _streamControl;
26
27
  private _securityStore;
27
28
  private _userControl;
28
29
  private _boardControl;
30
+ private _screenShareProvider;
29
31
  private _controlBarWindowId;
30
- private _currentShareStreamId;
31
32
  private _removeScreenStreamFailed;
32
- private _isReplaceScreen;
33
- private _previewDom;
34
33
  private _sharedMemberDataSource;
35
- private _connectionObserver;
34
+ private _sharedScreenShareSharedDataSource;
35
+ private _connectionProvider;
36
+ private _isOnline;
36
37
  private _roomObserver;
37
- private _observer;
38
38
  private _uiEventObserver;
39
- private _streamObserver;
39
+ private _screenCaptureStateObserver;
40
40
  private _boardObserver;
41
- private _loopbackAudioSourceId;
42
41
  private _shareSelectionDialogId;
43
42
  private _controlBarDialogId;
44
43
  private _videoWindowDialogId;
45
- private _shareLocked;
46
- private _screenTrack;
47
- private _shareAudioTrack;
48
- private _currentShareId;
49
- private _currentShareType;
50
- private _connectionProvider;
51
- private _screenShareDataSource;
52
- private _isOnline;
53
- accessor screenSharingState: FcrMediaSourceState;
54
- accessor applicationCaptureSources: AgoraRtcWindowInfo[];
55
- accessor screenCaptureSources: FcrUIDisplayCaptureSource[];
56
- accessor currentSelection: string;
57
- accessor currentSelectionType: AgoraRtcScreenCaptureType;
58
- accessor shareWithAudio: boolean;
44
+ private _annotationProvider;
59
45
  accessor boardOwnerUser: FcrUserInfo | undefined;
60
- accessor currentSelectionBounds: CurrentShareBounds;
61
- accessor connectionState: FcrConnectionState;
46
+ get currentShareStreamId(): string;
47
+ get screenTrack(): FcrScreenTrack | null;
48
+ get currentShareType(): AgoraRtcScreenCaptureType;
62
49
  get localUser(): FcrUserInfo;
63
50
  get localUserRole(): import("fcr-core").FcrUserRole;
64
51
  get isHost(): boolean;
65
52
  get supportEnumScreen(): boolean;
66
- get appWindowList(): Promise<AgoraRtcWindowInfo[]>;
53
+ get appWindowList(): Promise<import("agora-rte-sdk/lib/core/rtc/type").AgoraRtcWindowInfo[]>;
67
54
  get displayList(): Promise<import("agora-rte-sdk/lib/core/rtc/type").AgoraRtcDisplayInfo[]>;
55
+ get connectionState(): FcrConnectionState;
56
+ get screenSharingState(): FcrMediaSourceState;
57
+ get applicationCaptureSources(): import("agora-rte-sdk/lib/core/rtc/type").AgoraRtcWindowInfo[];
58
+ get screenCaptureSources(): import("./types").FcrUIDisplayCaptureSource[];
68
59
  get currentShareAudioProcessingChannel(): AudioProcessingChannel;
69
- constructor({ roomControl, deviceProvider, privilegeProvider, messageProvider, dialogProvider, eventProvider, sharedMemberDataSource, roomProvider, sharedConfigDataSource, connectionProvider, screenShareDataSource, }: {
60
+ get currentSelectionId(): string;
61
+ get currentSelectionType(): AgoraRtcScreenCaptureType;
62
+ get shareWithAudio(): boolean;
63
+ get currentSelectionBounds(): CurrentShareBounds;
64
+ get shareLock(): boolean;
65
+ get currentShareId(): string;
66
+ constructor({ roomControl, deviceProvider, privilegeProvider, messageProvider, dialogProvider, eventProvider, sharedMemberDataSource, roomProvider, sharedConfigDataSource, screenShareProvider, annotationProvider, sharedScreenShareSharedDataSource, connectionProvider, }: {
70
67
  roomControl: FcrMainRoomControl;
71
68
  deviceProvider: FcrUIDeviceProvider;
72
69
  privilegeProvider: FcrUIPrivilegeProvider;
@@ -76,40 +73,36 @@ export default class ShareScreenStore {
76
73
  sharedMemberDataSource: FcrUIMemberSharedDataSource;
77
74
  roomProvider: FcrUIRoomProvider;
78
75
  sharedConfigDataSource: FcrUISharedConfigDataSource;
76
+ screenShareProvider: FcrUIScreenShareProvider;
77
+ annotationProvider: FcrUIAnnotationProvider;
78
+ sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
79
79
  connectionProvider: FcrUIConnectionProvider;
80
- screenShareDataSource: FcrUIScreenShareDataSource;
81
80
  });
81
+ private _handleOnScreenCaptureStopped;
82
+ private _handleOnScreenCaptureStarted;
83
+ private _hasScreenSharePermission;
82
84
  handleChooseScreen: (id: string, type: AgoraRtcScreenCaptureType | undefined, bounds: CurrentShareBounds) => void;
83
85
  setShareWithAudioState(withAudio: boolean): void;
84
86
  hasLoopbackDevice(): Promise<boolean>;
85
- setShareAudioProcessingChannel(channel: AudioProcessingChannel): void;
87
+ setShareAudioProcessingChannel(currentShareAudioProcessingChannel: AudioProcessingChannel): void;
86
88
  handlerBoardShareStop(): void;
87
89
  release(): void;
88
90
  openRelaunchTipsDialog(): void;
89
- startPreview(dom: HTMLElement): void;
91
+ startRenderSharePreview(dom: HTMLElement): void;
92
+ stopRenderSharePreview(screenTrack?: FcrScreenTrack | null | undefined): void;
90
93
  handleStopShare(): void;
91
94
  prepareShareScreen(): Promise<void>;
92
95
  handleStartShare(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, audioProcessingChannel: AudioProcessingChannel | undefined, bounds: CurrentShareBounds): Promise<void>;
93
- private _startLoopback;
94
- private _handleShareStartWithAudio;
95
- private _handleShareStopWithAudio;
96
96
  private _openShareScreenSelection;
97
97
  private _closeShareScreenSelection;
98
98
  private _setControlBarWindowId;
99
99
  private _openVideoWindowDialog;
100
100
  private _closeControlBar;
101
101
  private _closeVideoWindowDialog;
102
- private _setWithAudioState;
102
+ private _handleOnScreenShareReplaceBegin;
103
103
  private _handleReplaceScreen;
104
- private _createScreenStream;
105
- private _handleWebScreenCaptureStateUpdated;
106
- private _handleScreenCaptureStateUpdated;
107
104
  private _setShareLock;
108
- private _closeCapture;
109
- private _removeScreenStream;
110
- private _syncShareStreamState;
111
- private _isStoppedFor;
112
- private _handleStreamUpdate;
105
+ private _closeShareScreenComps;
113
106
  private _addEventListeners;
114
107
  private _removeEventListeners;
115
108
  private _handleOnline;
@@ -119,8 +112,7 @@ export default class ShareScreenStore {
119
112
  private _validateWindow;
120
113
  private _validateDisplay;
121
114
  private _validateShareStart;
122
- private _hasScreenSharePermission;
123
- private _getExcludeWindows;
124
115
  private _initControlbar;
116
+ handleToggleScreenShareWithAudio(withAudio: boolean): void;
125
117
  }
126
118
  export declare const StoreContext: import("react").Context<ShareScreenStore>;