fcr-ui-scene 3.6.1 → 3.6.3

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 (257) hide show
  1. package/lib/creator.d.ts +6 -0
  2. package/lib/creator.js +125 -24
  3. package/lib/electron/app.js +5 -4
  4. package/lib/electron/bootstrap-dev.js +3 -0
  5. package/lib/electron/bootstrap-sdk.js +4 -0
  6. package/lib/electron/injections.d.ts +5 -0
  7. package/lib/electron/injections.js +36 -8
  8. package/lib/electron/ipc/ipc.d.ts +1 -0
  9. package/lib/electron/ipc/ipc.js +4 -0
  10. package/lib/electron/main.js +16 -8
  11. package/lib/electron/plugins/screenshot.js +4 -2
  12. package/lib/electron/preload.js +7 -2
  13. package/lib/electron/window.js +4 -6
  14. package/lib/fragments/annotation/index.d.ts +11 -0
  15. package/lib/fragments/annotation/index.js +121 -0
  16. package/lib/fragments/annotation/libs.d.ts +55 -0
  17. package/lib/fragments/annotation/libs.js +93 -0
  18. package/lib/fragments/annotation/store.d.ts +30 -0
  19. package/lib/fragments/annotation/store.js +565 -0
  20. package/lib/fragments/annotation/view.d.ts +3 -0
  21. package/lib/fragments/annotation/view.js +31 -0
  22. package/lib/fragments/base.d.ts +10 -0
  23. package/lib/fragments/base.js +44 -0
  24. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  25. package/lib/modules/action-bar/index.css +11 -0
  26. package/lib/modules/action-bar/index.d.ts +2 -0
  27. package/lib/modules/action-bar/index.js +1 -0
  28. package/lib/modules/action-bar/store.d.ts +7 -9
  29. package/lib/modules/action-bar/store.js +49 -90
  30. package/lib/modules/annotation/board-cursor.css +76 -0
  31. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  32. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  33. package/lib/modules/annotation/components/control-bar/index.js +141 -0
  34. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  35. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  36. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  37. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  38. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  39. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
  40. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  41. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  42. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  43. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  44. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
  45. package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
  46. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  47. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  48. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  49. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  50. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  52. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  53. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  54. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  55. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  56. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  57. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  58. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  59. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  60. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  61. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  62. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  63. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  64. package/lib/modules/annotation/index.d.ts +38 -0
  65. package/lib/modules/annotation/index.js +169 -0
  66. package/lib/modules/annotation/store.d.ts +93 -0
  67. package/lib/modules/annotation/store.js +673 -0
  68. package/lib/modules/annotation/style.css +26 -0
  69. package/lib/modules/annotation/view.d.ts +3 -0
  70. package/lib/modules/annotation/view.js +49 -0
  71. package/lib/modules/chat/view.js +112 -100
  72. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  73. package/lib/modules/components/annotation-menu/index.js +119 -0
  74. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  75. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  76. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  77. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
  78. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
  79. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  80. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  81. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  82. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
  83. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  84. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  85. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
  86. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  87. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  88. package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
  89. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  90. package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
  91. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  92. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
  93. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  94. package/lib/modules/components/member-window/index.css +37 -0
  95. package/lib/modules/components/member-window/index.d.ts +1 -1
  96. package/lib/modules/components/member-window/index.js +8 -5
  97. package/lib/modules/components/member-window/types.d.ts +2 -0
  98. package/lib/modules/components/security-menu/index.js +7 -6
  99. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  100. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  101. package/lib/modules/control-bar/index.d.ts +6 -6
  102. package/lib/modules/control-bar/index.js +5 -34
  103. package/lib/modules/control-bar/store.d.ts +27 -13
  104. package/lib/modules/control-bar/store.js +121 -126
  105. package/lib/modules/control-bar/view.js +50 -4
  106. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  107. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  108. package/lib/modules/dialog/components/chat/index.js +1 -1
  109. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  110. package/lib/modules/dialog/components/control-bar/index.js +1 -3
  111. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  112. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  113. package/lib/modules/dialog/components/participant/index.js +1 -1
  114. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  115. package/lib/modules/dialog/components/video-window/index.js +1 -0
  116. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  117. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  118. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  119. package/lib/modules/dialog/hooks/useElectron.js +13 -3
  120. package/lib/modules/dialog/index.d.ts +2 -3
  121. package/lib/modules/dialog/index.js +3 -26
  122. package/lib/modules/dialog/store.d.ts +14 -9
  123. package/lib/modules/dialog/store.js +56 -50
  124. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  125. package/lib/modules/event-confirm/components/window/index.js +188 -0
  126. package/lib/modules/event-confirm/index.d.ts +4 -4
  127. package/lib/modules/event-confirm/index.js +6 -4
  128. package/lib/modules/event-confirm/store.d.ts +4 -5
  129. package/lib/modules/event-confirm/store.js +35 -26
  130. package/lib/modules/event-confirm/view.js +23 -171
  131. package/lib/modules/event-sound/index.js +1 -1
  132. package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
  133. package/lib/modules/layout/index.d.ts +4 -0
  134. package/lib/modules/layout/index.js +2 -0
  135. package/lib/modules/layout/store.d.ts +14 -2
  136. package/lib/modules/layout/store.js +77 -45
  137. package/lib/modules/layout/type.d.ts +7 -0
  138. package/lib/modules/participant/index.d.ts +2 -0
  139. package/lib/modules/participant/index.js +2 -1
  140. package/lib/modules/participant/store.d.ts +5 -2
  141. package/lib/modules/participant/store.js +73 -25
  142. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  143. package/lib/modules/setting/index.d.ts +2 -0
  144. package/lib/modules/setting/index.js +3 -3
  145. package/lib/modules/setting/store.d.ts +8 -10
  146. package/lib/modules/setting/store.js +22 -20
  147. package/lib/modules/share-screen/components/selection/index.js +18 -42
  148. package/lib/modules/share-screen/index.d.ts +6 -2
  149. package/lib/modules/share-screen/index.js +4 -2
  150. package/lib/modules/share-screen/store.d.ts +41 -46
  151. package/lib/modules/share-screen/store.js +297 -718
  152. package/lib/modules/share-screen/view.js +2 -2
  153. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  154. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  155. package/lib/modules/state-bar/index.css +8 -6
  156. package/lib/modules/state-bar/index.d.ts +4 -0
  157. package/lib/modules/state-bar/index.js +3 -1
  158. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  159. package/lib/modules/state-bar/layout-config.js +15 -5
  160. package/lib/modules/state-bar/store.d.ts +9 -1
  161. package/lib/modules/state-bar/store.js +17 -2
  162. package/lib/modules/state-bar/view.js +9 -4
  163. package/lib/modules/video-window/components/members/index.js +2 -1
  164. package/lib/modules/waiting-room-layout/store.js +1 -1
  165. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  166. package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
  167. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  168. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  169. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  170. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  171. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  172. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  173. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  174. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  175. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  176. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  177. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  178. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  179. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  180. package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
  181. package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
  182. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  183. package/lib/modules/whiteboard/index.d.ts +2 -0
  184. package/lib/modules/whiteboard/index.js +22 -21
  185. package/lib/modules/whiteboard/style.css +0 -4
  186. package/lib/modules/whiteboard/view.js +8 -2
  187. package/lib/plugins/browser-runtime-plugin.js +10 -1
  188. package/lib/providers/annotation-provider.d.ts +128 -0
  189. package/lib/providers/annotation-provider.js +421 -0
  190. package/lib/providers/device-provider.d.ts +3 -3
  191. package/lib/providers/device-provider.js +8 -6
  192. package/lib/providers/event-provider.d.ts +3 -3
  193. package/lib/providers/interpreter-provider.d.ts +1 -0
  194. package/lib/providers/interpreter-provider.js +182 -154
  195. package/lib/providers/privilege-provider.d.ts +35 -6
  196. package/lib/providers/privilege-provider.js +105 -49
  197. package/lib/providers/renderer-provider.js +3 -7
  198. package/lib/providers/room-provider.d.ts +13 -1
  199. package/lib/providers/room-provider.js +21 -7
  200. package/lib/providers/screen-share-provider.d.ts +131 -34
  201. package/lib/providers/screen-share-provider.js +554 -173
  202. package/lib/providers/sharing-provider.d.ts +37 -0
  203. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
  204. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  205. package/lib/providers/user-setting-storage-provider.js +74 -0
  206. package/lib/runtime.d.ts +6 -1
  207. package/lib/scenes/main-scene.d.ts +7 -2
  208. package/lib/scenes/main-scene.js +55 -27
  209. package/lib/scenes/waiting-scene.d.ts +6 -0
  210. package/lib/scenes/waiting-scene.js +15 -5
  211. package/lib/shared-data-source/config.d.ts +1 -5
  212. package/lib/shared-data-source/config.js +11 -81
  213. package/lib/shared-data-source/member-data.d.ts +21 -5
  214. package/lib/shared-data-source/member-data.js +69 -17
  215. package/lib/shared-data-source/screen-share-data.d.ts +274 -0
  216. package/lib/shared-data-source/screen-share-data.js +390 -0
  217. package/lib/shared-data-source/security-data.d.ts +4 -1
  218. package/lib/shared-data-source/security-data.js +5 -2
  219. package/lib/shared-data-source/setting.d.ts +13 -13
  220. package/lib/shared-data-source/setting.js +16 -10
  221. package/lib/shared-data-source/video-window.d.ts +2 -1
  222. package/lib/shared-data-source/video-window.js +56 -36
  223. package/lib/translations/enUS.d.ts +8 -0
  224. package/lib/translations/enUS.js +9 -1
  225. package/lib/translations/zhCN.d.ts +8 -0
  226. package/lib/translations/zhCN.js +11 -3
  227. package/lib/type.d.ts +55 -1
  228. package/lib/ui-manager.d.ts +3 -2
  229. package/lib/ui-manager.js +6 -4
  230. package/lib/ui-scene.js +70 -50
  231. package/lib/utilities/constant.d.ts +10 -2
  232. package/lib/utilities/constant.js +8 -0
  233. package/lib/utilities/logger.d.ts +4 -0
  234. package/lib/utilities/logger.js +8 -1
  235. package/lib/utilities/renderer-event.d.ts +3 -0
  236. package/lib/utilities/renderer-event.js +14 -1
  237. package/lib/utilities/screen.js +2 -1
  238. package/lib/utilities/setting-config-storage.d.ts +5 -6
  239. package/lib/utilities/setting-config-storage.js +33 -39
  240. package/lib/utilities/tools.d.ts +19 -1
  241. package/lib/utilities/tools.js +51 -4
  242. package/package.json +9 -7
  243. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  244. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  245. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  246. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  247. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  248. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  249. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  250. package/public/assets/fcr_chat_reddot.svg +3 -3
  251. package/public/assets/fcr_grid_big.svg +1 -1
  252. package/public/assets/fcr_leave2.svg +14 -14
  253. package/public/assets/fcr_listontop_big.svg +1 -1
  254. package/public/assets/step-gradient.svg +1 -1
  255. package/public/fragment.html +10 -0
  256. package/public/index.html +3 -1
  257. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
@@ -17,7 +17,9 @@ var FcrUIRemoteVideoPlayer = exports.FcrUIRemoteVideoPlayer = (0, _mobxReact.obs
17
17
  var streamId = _ref.streamId,
18
18
  hasVideoStream = _ref.hasVideoStream,
19
19
  videoStreamType = _ref.videoStreamType,
20
- renderMode = _ref.renderMode;
20
+ renderMode = _ref.renderMode,
21
+ hasScreenSharing = _ref.hasScreenSharing,
22
+ scalcValue = _ref.scalcValue;
21
23
  var divRef = (0, _react.useRef)(null);
22
24
  var context = (0, _react.useContext)(_videoTrackRenderContext.FcrVideoTrackRenderContext);
23
25
  var t = (0, _i18n.useI18n)();
@@ -44,6 +46,9 @@ var FcrUIRemoteVideoPlayer = exports.FcrUIRemoteVideoPlayer = (0, _mobxReact.obs
44
46
  className: (0, _classnames["default"])('fcr-member-window-body fcr-member-window-body-video-remote', {
45
47
  'fcr-member-window-body-video-remote-render': isFirstRemoteVideoFrameRendered && hasVideoStream
46
48
  }),
49
+ style: {
50
+ transform: "scale(".concat(scalcValue, ")")
51
+ },
47
52
  ref: divRef
48
53
  })
49
54
  });
@@ -6,4 +6,5 @@ export declare const FcrUIVideoPlayer: (props: {
6
6
  videoStreamType: AgoraRtcVideoStreamType;
7
7
  renderMode: AgoraRtcRenderMode;
8
8
  hasScreenSharing: boolean;
9
+ scalcValue: number;
9
10
  }) => import("react/jsx-runtime").JSX.Element;
@@ -13,30 +13,39 @@
13
13
  position: relative;
14
14
  overflow: hidden;
15
15
  }
16
+
16
17
  .fcr-member-window button,
17
18
  .fcr-member-board button {
18
19
  border: none;
19
20
  outline: none;
20
21
  }
22
+
21
23
  .fcr-member-window button:focus,
22
24
  .fcr-member-board button:focus {
23
25
  border: none;
24
26
  outline: none;
25
27
  }
28
+
26
29
  .fcr-member-board {
27
30
  width: 100%;
28
31
  height: 100%;
29
32
  position: relative;
33
+ cursor:
34
+ url('data:image/svg+xml,%3Csvg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cg clip-path="url(%23clip0_71146_163811)"%3E%3Cg filter="url(%23filter0_d_71146_163811)"%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" d="M4.95701 14.2575L1.05431 2.41514C0.867777 1.84912 1.1772 1.23963 1.74543 1.05381C1.96805 0.981012 2.20837 0.982105 2.43032 1.05693L14.264 5.04624C14.8305 5.23722 15.1343 5.84949 14.9426 6.4138C14.8422 6.70924 14.6183 6.94694 14.3288 7.0656L9.3004 9.12601C9.08832 9.21291 8.92123 9.38255 8.83806 9.59543L6.99502 14.3123C6.77809 14.8675 6.15043 15.1423 5.59309 14.9263C5.29135 14.8093 5.058 14.5639 4.95701 14.2575Z" fill="%234262FF"/%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" d="M4.95701 14.2575L1.05431 2.41514C0.867777 1.84912 1.1772 1.23963 1.74543 1.05381C1.96805 0.981012 2.20837 0.982105 2.43032 1.05693L14.264 5.04624C14.8305 5.23722 15.1343 5.84949 14.9426 6.4138C14.8422 6.70924 14.6183 6.94694 14.3288 7.0656L9.3004 9.12601C9.08832 9.21291 8.92123 9.38255 8.83806 9.59543L6.99502 14.3123C6.77809 14.8675 6.15043 15.1423 5.59309 14.9263C5.29135 14.8093 5.058 14.5639 4.95701 14.2575Z" stroke="white" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3Cfilter id="filter0_d_71146_163811" x="-2.5" y="-1.5" width="23" height="23" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"%3E%3CfeFlood flood-opacity="0" result="BackgroundImageFix"/%3E%3CfeColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/%3E%3CfeOffset dx="1" dy="2"/%3E%3CfeGaussianBlur stdDeviation="2"/%3E%3CfeComposite in2="hardAlpha" operator="out"/%3E%3CfeColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.14 0"/%3E%3CfeBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_71146_163811"/%3E%3CfeBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_71146_163811" result="shape"/%3E%3C/filter%3E%3CclipPath id="clip0_71146_163811"%3E%3Crect width="18" height="18" fill="white"/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E'),
35
+ auto;
30
36
  }
37
+
31
38
  .fcr-member-board-mask {
32
39
  display: none;
33
40
  position: absolute;
34
41
  inset: 0;
35
42
  z-index: 2;
36
43
  }
44
+
37
45
  .fcr-member-board-mask-show {
38
46
  display: block;
39
47
  }
48
+
40
49
  /* .fcr-member-window.fcr-member-window-suspend {
41
50
  background-color: var(--fcr_ui_scene_video_s);
42
51
  border-radius: 0;
@@ -51,6 +60,7 @@
51
60
  pointer-events: none;
52
61
  visibility: hidden;
53
62
  }
63
+
54
64
  .fcr-member-window-is-broken {
55
65
  visibility: visible;
56
66
  }
@@ -72,6 +82,7 @@
72
82
  inset: 0;
73
83
  font-size: 0;
74
84
  }
85
+
75
86
  .fcr-member-window-body-render-video-loading {
76
87
  border-radius: 10px;
77
88
  position: absolute;
@@ -88,6 +99,7 @@
88
99
  align-items: center;
89
100
  justify-content: center;
90
101
  }
102
+
91
103
  .fcr-member-window-body-render-video-loading span {
92
104
  color: #fff;
93
105
  font-size: 14px;
@@ -96,6 +108,7 @@
96
108
  text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.4);
97
109
  white-space: pre-wrap;
98
110
  }
111
+
99
112
  .fcr-member-window-body-render-video-loading .render-video-loading-icon {
100
113
  animation: loading-rotate 1s linear infinite;
101
114
  }
@@ -104,16 +117,20 @@
104
117
  from {
105
118
  transform: rotate(0deg);
106
119
  }
120
+
107
121
  to {
108
122
  transform: rotate(360deg);
109
123
  }
110
124
  }
125
+
111
126
  .fcr-member-window-body.fcr-member-window-body-video-remote {
112
127
  visibility: hidden;
113
128
  }
129
+
114
130
  .fcr-member-window-body.fcr-member-window-body-video-remote-render {
115
131
  visibility: visible;
116
132
  }
133
+
117
134
  .fcr-member-window-excitation {
118
135
  position: absolute;
119
136
  inset: 0;
@@ -121,9 +138,11 @@
121
138
  border: 3px solid var(--fcr_ui_scene_ramp_green6);
122
139
  opacity: 0;
123
140
  }
141
+
124
142
  .fcr-member-window-excitation-show {
125
143
  opacity: 1;
126
144
  }
145
+
127
146
  .fcr-member-window-pin {
128
147
  display: none;
129
148
  justify-content: center;
@@ -139,14 +158,17 @@
139
158
  /* transition: opacity 0.2s; */
140
159
  z-index: 11;
141
160
  }
161
+
142
162
  .fcr-member-window-pin-show {
143
163
  /* opacity: 1; */
144
164
  display: flex;
145
165
  }
166
+
146
167
  .fcr-member-board:hover .fcr-user-window-actions-top,
147
168
  .fcr-member-window:hover .fcr-user-window-actions-top {
148
169
  opacity: 1;
149
170
  }
171
+
150
172
  .fcr-member-window-members-sharebtn {
151
173
  display: none;
152
174
  align-items: center;
@@ -157,6 +179,7 @@
157
179
  height: 18px;
158
180
  margin-right: 2px;
159
181
  }
182
+
160
183
  .fcr-member-window-members-shareSound {
161
184
  display: none;
162
185
  align-items: center;
@@ -166,6 +189,7 @@
166
189
  height: 18px;
167
190
  margin-right: 2px;
168
191
  }
192
+
169
193
  .fcr-member-window-members-sharebtn-show {
170
194
  margin-left: 0px;
171
195
  display: flex;
@@ -175,6 +199,7 @@
175
199
  height: 24px;
176
200
  margin-right: 6px;
177
201
  }
202
+
178
203
  /* fcr-member-window-action start */
179
204
 
180
205
  .fcr-user-window-actions {
@@ -217,6 +242,7 @@
217
242
  bottom: 20px;
218
243
  z-index: 1;
219
244
  }
245
+
220
246
  .fcr-user-window-actions-bottom-layout {
221
247
  color: var(--fcr_ui_scene_icontext1);
222
248
  font-weight: var(--fcr_font_weight_m);
@@ -226,6 +252,7 @@
226
252
  align-items: center;
227
253
  overflow: hidden;
228
254
  }
255
+
229
256
  .fcr-user-window-actions-bottom-layout-info {
230
257
  border-radius: var(--fcr_cornerradius_xs);
231
258
  background-color: var(--fcr_ui_scene_view_toast);
@@ -233,17 +260,21 @@
233
260
  align-items: center;
234
261
  overflow: hidden;
235
262
  }
263
+
236
264
  .fcr-user-window-actions-bottom-interpreter-tag {
237
265
  margin-left: 8px;
238
266
  }
267
+
239
268
  .fcr-member-board .fcr-user-window-actions-bottom-show,
240
269
  .fcr-member-window .fcr-user-window-actions-bottom-show {
241
270
  opacity: 1;
242
271
  }
272
+
243
273
  .fcr-member-board:hover .fcr-user-window-actions-bottom,
244
274
  .fcr-member-window:hover .fcr-user-window-actions-bottom {
245
275
  opacity: 1;
246
276
  }
277
+
247
278
  .fcr-member-window-gallery .fcr-user-window-actions-bottom {
248
279
  height: 24px;
249
280
  font-size: 12px;
@@ -320,6 +351,7 @@
320
351
  border-top-left-radius: 0;
321
352
  border-bottom-left-radius: 0;
322
353
  }
354
+
323
355
  .fcr-user-window-actions-tag:has(~ .fcr-user-window-actions-microphone) {
324
356
  border-top-right-radius: 0;
325
357
  border-bottom-right-radius: 0;
@@ -383,9 +415,11 @@
383
415
  transition: opacity 0.2s;
384
416
  z-index: 10;
385
417
  }
418
+
386
419
  .fcr-member-window .fcr-user-window-actions-top-active {
387
420
  opacity: 1;
388
421
  }
422
+
389
423
  .fcr-user-window-actions-more {
390
424
  padding: 3px;
391
425
  border-radius: var(--fcr_cornerradius_xxs);
@@ -435,13 +469,16 @@
435
469
  .fcr-user-window-actions-tag_large {
436
470
  margin-bottom: 8px;
437
471
  }
472
+
438
473
  .fcr-user-window-actions-bottom .fcr-device-settings-video__video-flip-container {
439
474
  position: static;
440
475
  margin-left: 2px;
441
476
  }
477
+
442
478
  .fcr-user-window-actions-bottom .fcr-device-settings-video__video-flip-container:hover {
443
479
  background: var(--fcr_ui_scene_white10);
444
480
  }
481
+
445
482
  .fcr-user-window-actions-bottom
446
483
  .fcr-device-settings-video__video-flip-container
447
484
  .fcr-clickable-icon-small {
@@ -8,4 +8,4 @@ export declare const AvatarTextSizeRatio = 0.32;
8
8
  export declare const HideControlsTimeout = 3000;
9
9
  export declare const meetingConnectorTypes: Set<FcrRoomConnectorType>;
10
10
  export declare const clamp: (val: number, min: number, max: number) => number;
11
- export declare const MemberWindow: ({ showAvatar, windowData, onDoubleClick, slot, width, height, canShowSpeakerSpotlight, onRemovePin, memberWindowPreviewType, videoRenderMode, videoStreamType, isVideoSuspended, }: MemberWindowProps) => import("react/jsx-runtime").JSX.Element;
11
+ export declare const MemberWindow: ({ showAvatar, windowData, onDoubleClick, slot, width, height, canShowSpeakerSpotlight, onRemovePin, memberWindowPreviewType, videoRenderMode, videoStreamType, isVideoSuspended, annotation, scalcValue, }: MemberWindowProps) => import("react/jsx-runtime").JSX.Element;
@@ -66,7 +66,9 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
66
66
  memberWindowPreviewType = _ref.memberWindowPreviewType,
67
67
  videoRenderMode = _ref.videoRenderMode,
68
68
  videoStreamType = _ref.videoStreamType,
69
- isVideoSuspended = _ref.isVideoSuspended;
69
+ isVideoSuspended = _ref.isVideoSuspended,
70
+ annotation = _ref.annotation,
71
+ scalcValue = _ref.scalcValue;
70
72
  var userName = windowData.userName,
71
73
  videoStreamId = windowData.videoStreamId,
72
74
  userId = windowData.userId,
@@ -78,7 +80,8 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
78
80
  windowId = windowData.windowId,
79
81
  audioStreamConnectorType = windowData.audioStreamConnectorType,
80
82
  videoStreamConnectorType = windowData.videoStreamConnectorType,
81
- hasScreenSharing = windowData.hasScreenSharing;
83
+ hasScreenSharing = windowData.hasScreenSharing,
84
+ videoSourceType = windowData.videoSourceType;
82
85
  var t = (0, _i18n.useI18n)();
83
86
  var connectorType = audioStreamConnectorType !== _fcrCore.FcrRoomConnectorType.NONE ? audioStreamConnectorType : videoStreamConnectorType;
84
87
  var isPhone = audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.PSTN;
@@ -128,7 +131,6 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
128
131
  "data-user-id": userId,
129
132
  "data-stream-id": videoStreamId,
130
133
  "data-user-name": userName,
131
- onDoubleClick: onDoubleClick,
132
134
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
133
135
  className: (0, _classnames["default"])('fcr-member-window-background', {
134
136
  // 'fcr-member-window-is-broken': isBroken,
@@ -149,8 +151,9 @@ var MemberWindow = exports.MemberWindow = (0, _mobxReact.observer)(function (_re
149
151
  videoStreamType: videoStreamType,
150
152
  renderMode: videoRenderMode,
151
153
  hasVideoStream: hasVideoStream,
152
- hasScreenSharing: hasScreenSharing
153
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
154
+ hasScreenSharing: hasScreenSharing,
155
+ scalcValue: scalcValue
156
+ }), hasScreenSharing && videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN ? annotation : null, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
154
157
  className: (0, _classnames["default"])("fcr-member-window-excitation", {
155
158
  'fcr-member-window-excitation-show': canShowSpeakerSpotlight && isSpeakerSpotlight
156
159
  })
@@ -7,6 +7,7 @@ export interface MemberWindowCustomProps {
7
7
  onDoubleClick?: () => void;
8
8
  onRemovePin: (streamId: string) => void;
9
9
  slot?: React.ReactNode;
10
+ annotation?: React.ReactNode;
10
11
  width?: number;
11
12
  height?: number;
12
13
  canShowSpeakerSpotlight: boolean;
@@ -17,6 +18,7 @@ export interface MemberWindowCustomProps {
17
18
  }
18
19
  export interface MemberWindowProps extends MemberWindowCustomProps {
19
20
  windowData: FcrUIVideoWindowData;
21
+ scalcValue: number;
20
22
  }
21
23
  export interface MicVolumeProps {
22
24
  id: string | undefined;
@@ -45,7 +45,8 @@ var SecurityMenu = (0, _mobxReact.observer)(function (props) {
45
45
  setCheckedStateMap = props.setCheckedStateMap;
46
46
  var transI18n = (0, _i18n.useI18n)();
47
47
  var allActions = [];
48
- var setLockRoomEnabled = privilege.setLockRoomEnabled,
48
+ var setAllowAnnotation = privilege.setAllowAnnotation,
49
+ setLockRoomEnabled = privilege.setLockRoomEnabled,
49
50
  setAllowChat = privilege.setAllowChat,
50
51
  setAllowUnmuteSelfAudio = privilege.setAllowUnmuteSelfAudio,
51
52
  setAllowUnmuteSelfVideo = privilege.setAllowUnmuteSelfVideo,
@@ -281,17 +282,17 @@ var SecurityMenu = (0, _mobxReact.observer)(function (props) {
281
282
  if (hasAllowWriteBoardPermission()) {
282
283
  allActions.push({
283
284
  title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
284
- checked: checkedStateMap.shareWhiteboard,
285
- label: transI18n('fmt_screenshare_options_editable'),
285
+ checked: checkedStateMap.allowBoardWriteState,
286
+ label: transI18n('fmt_security_mainwindow_label_interactive_annotations'),
286
287
  styleType: "white"
287
288
  }),
288
- key: 'share_whiteboard',
289
+ key: 'enable_annotations',
289
290
  type: 'primary',
290
291
  onButtonClick: function onButtonClick() {
291
292
  setCheckedStateMap(_objectSpread(_objectSpread({}, checkedStateMap), {
292
- shareWhiteboard: !checkedStateMap.shareWhiteboard
293
+ enableAnnotation: !checkedStateMap.allowBoardWriteState
293
294
  }));
294
- setAllowWriteBoard(!checkedStateMap.shareWhiteboard);
295
+ setAllowWriteBoard(!checkedStateMap.allowBoardWriteState);
295
296
  }
296
297
  });
297
298
  }
@@ -0,0 +1 @@
1
+ export declare const AnnotationButton: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.AnnotationButton = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _tooltipsButton = require("agora-ui-foundation/lib/components/tooltips-button");
11
+ var _i18n = require("agora-ui-foundation/lib/i18n");
12
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
13
+ var _annotationMenu = _interopRequireDefault(require("../../../components/annotation-menu"));
14
+ var _react = require("react");
15
+ var _mobxReact = require("mobx-react");
16
+ var _store = require("../../store");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var AnnotationButton = exports.AnnotationButton = (0, _mobxReact.observer)(function () {
19
+ var transI18n = (0, _i18n.useI18n)();
20
+ var _useState = (0, _react.useState)(false),
21
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
22
+ visible = _useState2[0],
23
+ setVisible = _useState2[1];
24
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
25
+ toggleAnnotation = _useContext.toggleAnnotation,
26
+ hasAnnotationAllowWritePermission = _useContext.hasAnnotationAllowWritePermission,
27
+ allowAnnotationWriteState = _useContext.allowAnnotationWriteState,
28
+ setAllAnnotationWrite = _useContext.setAllAnnotationWrite,
29
+ isSharingScreen = _useContext.isSharingScreen,
30
+ log = _useContext.log;
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltipsButton.FrcTooltipButton, {
32
+ active: visible,
33
+ tooltip: {
34
+ content: transI18n('fmt_screenshare_controlbar_button_annotations'),
35
+ icon: {
36
+ type: _type.FcrIconType.FCR_RENAME,
37
+ size: 32,
38
+ colors: {
39
+ iconPrimary: 'var(--fcr_web_ui_scene_mainicon1)'
40
+ }
41
+ }
42
+ },
43
+ onTooltipButtonClick: isSharingScreen ? toggleAnnotation : function () {
44
+ return log('share screen is starting, please wait a moment to operate');
45
+ },
46
+ withPopover: true,
47
+ popover: {
48
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_annotationMenu["default"], {
49
+ allowAnnotationWriteState: allowAnnotationWriteState,
50
+ hasAnnotationAllowWritePermission: hasAnnotationAllowWritePermission,
51
+ setAllowAnnotationWrite: setAllAnnotationWrite,
52
+ showClear: true
53
+ }),
54
+ onVisibleChange: function onVisibleChange(visible) {
55
+ setVisible(visible);
56
+ }
57
+ }
58
+ });
59
+ });
@@ -1,6 +1,5 @@
1
1
  import { UIModule } from '../../base';
2
2
  import './index.css';
3
- import { FcrUIAction } from '../../utilities/constant';
4
3
  import { FcrUIEventProvider } from '../../providers/event-provider';
5
4
  import { FcrUIMainRoomControlProvider, FcrUIRoomProvider } from '../../providers/room-provider';
6
5
  import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
@@ -11,7 +10,6 @@ import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider'
11
10
  import { FcrUISharedChatDataSource } from '../../shared-data-source/chat-data';
12
11
  import { FcrUIDevicePrivilegeProvider } from '../../providers/device-privilege-provider';
13
12
  import { FcrUISharedDevicePrivilegeDataSource } from '../../shared-data-source/device-privilege-data';
14
- import { CurrentShareScreenTypes } from '../share-screen/types';
15
13
  import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
16
14
  import { FcrUILocalStorageProvider } from '../../providers/local-storage-provider';
17
15
  import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
@@ -19,7 +17,9 @@ import { FcrUIDialogProvider } from '../../providers/dialog-provider';
19
17
  import { FcrUIMeetingTimeSharedDataSource } from '../../shared-data-source/meeting-time';
20
18
  import { FcrUIMessageProvider } from '../../providers/message-provider';
21
19
  import { FcrUISecuritySharedDataSource } from '../../shared-data-source/security-data';
22
- import { FcrUIScreenShareDataSource } from '../../shared-data-source/screen-share-data-source';
20
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
21
+ import { FcrUISharingProvider } from '../../providers/sharing-provider';
22
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
23
23
  export declare class ControlBarUIModule extends UIModule {
24
24
  private _store?;
25
25
  private _deviceControlStore?;
@@ -42,13 +42,13 @@ export declare class ControlBarUIModule extends UIModule {
42
42
  sharedMeetingTimeDataSource?: FcrUIMeetingTimeSharedDataSource;
43
43
  messageProvider?: FcrUIMessageProvider;
44
44
  sharedSecuritySharedDataSource?: FcrUISecuritySharedDataSource;
45
- screenShareDataSource?: FcrUIScreenShareDataSource;
45
+ annotationProvider?: FcrUIAnnotationProvider;
46
+ sharingProvider?: FcrUISharingProvider;
47
+ sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
46
48
  onNodeWillActive(): void;
47
49
  onNodeWillInactive(): void;
48
50
  getComponent(props: {
49
- params: any;
50
51
  browserWindow: Electron.BrowserWindow;
51
52
  }): import("react/jsx-runtime").JSX.Element;
52
- onUiEvent(event: FcrUIAction, payload: CurrentShareScreenTypes): void;
53
53
  onProcessEvent(event: RendererCustomEvent): void;
54
54
  }
@@ -1,27 +1,14 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.js");
4
- require("core-js/modules/es.array.filter.js");
5
- require("core-js/modules/es.array.for-each.js");
6
3
  require("core-js/modules/es.array.iterator.js");
7
- require("core-js/modules/es.array.push.js");
8
- require("core-js/modules/es.object.define-properties.js");
9
4
  require("core-js/modules/es.object.define-property.js");
10
5
  require("core-js/modules/es.object.get-own-property-descriptor.js");
11
- require("core-js/modules/es.object.get-own-property-descriptors.js");
12
- require("core-js/modules/es.object.keys.js");
13
6
  require("core-js/modules/es.object.to-string.js");
14
7
  require("core-js/modules/es.reflect.construct.js");
15
8
  require("core-js/modules/es.string.iterator.js");
16
9
  require("core-js/modules/es.weak-map.js");
17
- require("core-js/modules/esnext.async-iterator.filter.js");
18
- require("core-js/modules/esnext.async-iterator.for-each.js");
19
- require("core-js/modules/esnext.iterator.constructor.js");
20
- require("core-js/modules/esnext.iterator.filter.js");
21
- require("core-js/modules/esnext.iterator.for-each.js");
22
10
  require("core-js/modules/esnext.weak-map.delete-all.js");
23
11
  require("core-js/modules/esnext.weak-map.emplace.js");
24
- require("core-js/modules/web.dom-collections.for-each.js");
25
12
  require("core-js/modules/web.dom-collections.iterator.js");
26
13
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
27
14
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -29,8 +16,6 @@ Object.defineProperty(exports, "__esModule", {
29
16
  value: true
30
17
  });
31
18
  exports.ControlBarUIModule = void 0;
32
- require("core-js/modules/es.function.bind.js");
33
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
34
19
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
35
20
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
36
21
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
@@ -46,8 +31,6 @@ var _store3 = require("../components/leave-meeting/store");
46
31
  var _jsxRuntime = require("react/jsx-runtime");
47
32
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
48
33
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
49
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
50
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
51
34
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
52
35
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
53
36
  var ControlBarUIModule = exports.ControlBarUIModule = /*#__PURE__*/function (_UIModule) {
@@ -74,16 +57,16 @@ var ControlBarUIModule = exports.ControlBarUIModule = /*#__PURE__*/function (_UI
74
57
  sharedMeetingTimeDataSource: this.sharedMeetingTimeDataSource,
75
58
  messageProvider: this.messageProvider,
76
59
  sharedSecuritySharedDataSource: this.sharedSecuritySharedDataSource,
77
- dialogProvider: this.dialogProvider,
78
- screenShareDataSource: this.screenShareDataSource
60
+ annotationProvider: this.annotationProvider,
61
+ sharingProvider: this.sharingProvider,
62
+ screenShareProvider: this.screenShareProvider,
63
+ sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource,
64
+ dialogProvider: this.dialogProvider
79
65
  });
80
66
  this.privilegeProvider = this.privilegeProvider;
81
67
  this.screenShareProvider = this.screenShareProvider;
82
68
  this._deviceControlStore = new _store2.DeviceControlStore((_this$mainRoomControl2 = this.mainRoomControlProvider) === null || _this$mainRoomControl2 === void 0 ? void 0 : _this$mainRoomControl2.mainRoomControl, this.deviceProvider, this.dialogProvider, this.deviceStreamProvider, this.sharedDevicePrivilegeDataSource);
83
69
  this._leaveMeetingStore = new _store3.LeaveMeetingStore(this.privilegeProvider, this.roomProvider, this.mainRoomControlProvider.mainRoomControl, this.sharedMemberDataSource, this.abilityProvider, this.dialogProvider);
84
- this.eventProvider.addObserver({
85
- onEvent: this.onUiEvent.bind(this)
86
- });
87
70
  }
88
71
  }, {
89
72
  key: "onNodeWillInactive",
@@ -96,9 +79,6 @@ var ControlBarUIModule = exports.ControlBarUIModule = /*#__PURE__*/function (_UI
96
79
  }, {
97
80
  key: "getComponent",
98
81
  value: function getComponent(props) {
99
- var params = props.params,
100
- browserWindow = props.browserWindow;
101
- this._store.initControlBar(params, browserWindow);
102
82
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.StoreContext.Provider, {
103
83
  value: this._store,
104
84
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_store2.DeviceControlStoreContext.Provider, {
@@ -107,15 +87,6 @@ var ControlBarUIModule = exports.ControlBarUIModule = /*#__PURE__*/function (_UI
107
87
  })
108
88
  });
109
89
  }
110
- }, {
111
- key: "onUiEvent",
112
- value: function onUiEvent(event, payload) {
113
- switch (event) {
114
- case _constant.FcrUIAction.SET_CURRENT_SHARE_SCREEN:
115
- this._store.updateCurrentShareContent(_objectSpread({}, payload));
116
- break;
117
- }
118
- }
119
90
  }, {
120
91
  key: "onProcessEvent",
121
92
  value: function onProcessEvent(event) {
@@ -10,7 +10,6 @@ import { FcrUIRoomProvider } from '../../providers/room-provider';
10
10
  import { MoreAction } from './enums';
11
11
  import { FcrUISharedChatDataSource } from '../../shared-data-source/chat-data';
12
12
  import { CurrentShareBounds } from './types';
13
- import { CurrentShareScreenTypes } from '../share-screen/types';
14
13
  import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
15
14
  import { FcrUILocalStorageProvider } from '../../providers/local-storage-provider';
16
15
  import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
@@ -18,8 +17,11 @@ import { FcrUIMeetingTimeSharedDataSource } from '../../shared-data-source/meeti
18
17
  import { CurrentShareScreenWorkArea } from '../../utilities/tools';
19
18
  import { FcrUIMessageProvider } from '../../providers/message-provider';
20
19
  import { FcrSecurityCheckedStateType, FcrUISecuritySharedDataSource } from '../../shared-data-source/security-data';
20
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
21
+ import { FcrUISharingProvider } from '../../providers/sharing-provider';
22
+ import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
23
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
21
24
  import { FcrUIDialogProvider } from '../../providers/dialog-provider';
22
- import { FcrUIScreenShareDataSource } from '../../shared-data-source/screen-share-data-source';
23
25
  export default class ControlBarStore {
24
26
  protected logger: import("agora-foundation/lib/logger").Logger;
25
27
  private _screenBounds;
@@ -39,16 +41,15 @@ export default class ControlBarStore {
39
41
  private _abilityProvider;
40
42
  private _sharedMeetingTimeDataSource;
41
43
  private _sharedSecuritySharedDataSource;
44
+ private _sharedScreenShareSharedDataSource;
42
45
  private _messageProvider;
46
+ private _annotationProvider;
47
+ private _sharingProvider;
48
+ private _screenShareProvider;
43
49
  private _dialogProvider;
44
- private _screenShareDataSource;
45
50
  private _dialogObsever;
46
51
  private _participantDialogId;
47
52
  accessor leaveConfirmRef: React.ReactNode;
48
- accessor shareWithAudio: boolean;
49
- accessor currentShareId: string;
50
- accessor currentShareType: AgoraRtcScreenCaptureType;
51
- accessor currentShareBounds: CurrentShareBounds;
52
53
  accessor recordShareBounds: Map<CurrentShareBounds, CurrentShareScreenWorkArea>;
53
54
  accessor cloudRecordingState: FcrRecordingState;
54
55
  accessor isHost: boolean;
@@ -62,7 +63,10 @@ export default class ControlBarStore {
62
63
  accessor hiddenShareActionNav: boolean;
63
64
  accessor boardOwnerUser: string;
64
65
  accessor currentShareDisplayId: number;
65
- get shareAudioProcessingChannel(): AudioProcessingChannel;
66
+ get shareWithAudio(): boolean;
67
+ get currentShareId(): string;
68
+ get currentShareType(): AgoraRtcScreenCaptureType;
69
+ get currentShareBounds(): CurrentShareBounds;
66
70
  get privilegeProvider(): FcrUIPrivilegeProvider;
67
71
  get localUser(): import("fcr-core/lib/type").FcrUserInfo;
68
72
  get remoteUsers(): import("fcr-core/lib/type").FcrUserInfo[];
@@ -80,6 +84,9 @@ export default class ControlBarStore {
80
84
  get hasStartLiveStreamingPermission(): boolean;
81
85
  get hasAssignHostBeforeLeavingPermission(): boolean;
82
86
  get hasEndRoomPermission(): boolean;
87
+ get hasAnnotationAllowWritePermission(): boolean;
88
+ get hasAnnotationStartPermission(): boolean;
89
+ get allowAnnotationWriteState(): boolean;
83
90
  get totalHourText(): string;
84
91
  get totalMinuteText(): string;
85
92
  get meetingTimeStatus(): import("../../shared-data-source/meeting-time").MeetingStatus;
@@ -95,7 +102,11 @@ export default class ControlBarStore {
95
102
  get isPstnUser(): boolean;
96
103
  get localUserRole(): import("fcr-core").FcrUserRole;
97
104
  get users(): import("fcr-core/lib/type").FcrUserInfo[];
98
- constructor({ uiEventStore, securityStore, roomControl, deviceProvider, sharedLayoutDataSource, roomProvider, sharedChatDataSource, sharedMemberDataSource, localStorageProvider, abilityProvider, sharedMeetingTimeDataSource, messageProvider, sharedSecuritySharedDataSource, dialogProvider, screenShareDataSource, }: {
105
+ get shareAudioProcessingChannel(): AudioProcessingChannel;
106
+ get checkedStateMap(): FcrSecurityCheckedStateType;
107
+ get isSharingScreen(): boolean;
108
+ get isReplaceScreen(): boolean;
109
+ constructor({ uiEventStore, securityStore, roomControl, deviceProvider, sharedLayoutDataSource, roomProvider, sharedChatDataSource, sharedMemberDataSource, localStorageProvider, abilityProvider, sharedMeetingTimeDataSource, messageProvider, sharedSecuritySharedDataSource, annotationProvider, sharingProvider, screenShareProvider, sharedScreenShareSharedDataSource, dialogProvider, }: {
99
110
  uiEventStore: FcrUIEventProvider;
100
111
  securityStore: FcrUIPrivilegeProvider;
101
112
  roomControl: FcrMainRoomControl;
@@ -109,13 +120,13 @@ export default class ControlBarStore {
109
120
  sharedMeetingTimeDataSource: FcrUIMeetingTimeSharedDataSource;
110
121
  messageProvider: FcrUIMessageProvider;
111
122
  sharedSecuritySharedDataSource: FcrUISecuritySharedDataSource;
123
+ annotationProvider: FcrUIAnnotationProvider;
124
+ sharingProvider: FcrUISharingProvider;
125
+ screenShareProvider: FcrUIScreenShareProvider;
126
+ sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
112
127
  dialogProvider: FcrUIDialogProvider;
113
- screenShareDataSource: FcrUIScreenShareDataSource;
114
128
  });
115
- get checkedStateMap(): FcrSecurityCheckedStateType;
116
129
  setCheckedStateMap(val: FcrSecurityCheckedStateType): void;
117
- initControlBar(payload: any, _browserWindow: Electron.BrowserWindow): void;
118
- updateCurrentShareContent(payload: CurrentShareScreenTypes): void;
119
130
  setShareWithAudioState(withAudio: boolean): void;
120
131
  showLockedRoomToast(enable: boolean): void;
121
132
  createNewShare(): void;
@@ -133,7 +144,10 @@ export default class ControlBarStore {
133
144
  setEnableWaitingRoom(enable: boolean): void;
134
145
  handleLeaveRoom(): void;
135
146
  getLocalMeetingTime(): string | null;
147
+ toggleAnnotation(): void;
148
+ setAllAnnotationWrite(allow: boolean): void;
136
149
  release(): void;
150
+ log(info: string): void;
137
151
  private _resetMessageCount;
138
152
  }
139
153
  export declare const StoreContext: import("react").Context<ControlBarStore>;