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
@@ -25,6 +25,7 @@ import { FcrUISharedDevicePrivilegeDataSource } from '../../shared-data-source/d
25
25
  import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
26
26
  import { FcrUIWidgetProvider } from '../../providers/widget-provider';
27
27
  import { FcrSecurityCheckedStateType, FcrUISecuritySharedDataSource } from '../../shared-data-source/security-data';
28
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
28
29
  import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
29
30
  export declare enum AudioConnectType {
30
31
  NONE = 0,
@@ -57,6 +58,7 @@ export default class ActionBarStore {
57
58
  private _roomType;
58
59
  private _widgetProvider;
59
60
  private _sharedSecuritySharedDataSource;
61
+ private _sharedScreenShareSharedDataSource;
60
62
  private _abilityProvider;
61
63
  private _userObserver;
62
64
  private _roomObserver;
@@ -104,6 +106,7 @@ export default class ActionBarStore {
104
106
  sharedMemberDataSource: FcrUIMemberSharedDataSource;
105
107
  widgetProvider: FcrUIWidgetProvider;
106
108
  sharedSecuritySharedDataSource: FcrUISecuritySharedDataSource;
109
+ sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
107
110
  abilityProvider: FcrUIAbilityProviderImpl;
108
111
  });
109
112
  get checkedStateMap(): FcrSecurityCheckedStateType;
@@ -125,8 +128,8 @@ export default class ActionBarStore {
125
128
  get isNewWaitingRoomUserEnter(): boolean;
126
129
  get privilegeProvider(): FcrUIPrivilegeProvider;
127
130
  get asideLayout(): import("../../type").FcrUIUpdateAsideParams;
128
- get chatRenderAt(): "aside" | "dialog";
129
- get participantsRenderAt(): "aside" | "dialog";
131
+ get chatRenderAt(): "dialog" | "aside";
132
+ get participantsRenderAt(): "dialog" | "aside";
130
133
  get participantVisible(): boolean | undefined;
131
134
  get chatVisible(): boolean | undefined;
132
135
  get remoteUsers(): FcrUserInfo[];
@@ -180,6 +183,7 @@ export default class ActionBarStore {
180
183
  isAllowJoinWithAudioEnabled(): boolean;
181
184
  enableMicrophone(enable: boolean): void;
182
185
  setAllowWriteBoard(state: boolean): void;
186
+ setAllowAnnotation(state: boolean): void;
183
187
  setAllowScreenShare(state: boolean): void;
184
188
  setPopoverOpened(isShow: boolean): void;
185
189
  setStateBarLeaveMeeting(isShow: boolean): void;
@@ -28,7 +28,6 @@ require("core-js/modules/es.array.iterator.js");
28
28
  require("core-js/modules/es.array.push.js");
29
29
  require("core-js/modules/es.array.reduce.js");
30
30
  require("core-js/modules/es.array.some.js");
31
- require("core-js/modules/es.date.to-string.js");
32
31
  require("core-js/modules/es.function.bind.js");
33
32
  require("core-js/modules/es.map.js");
34
33
  require("core-js/modules/es.object.to-string.js");
@@ -199,6 +198,7 @@ var ActionBarStore = exports["default"] = /*#__PURE__*/function () {
199
198
  this._sharedMemberDataSource = args.sharedMemberDataSource;
200
199
  this._widgetProvider = args.widgetProvider;
201
200
  this._sharedSecuritySharedDataSource = args.sharedSecuritySharedDataSource;
201
+ this._sharedScreenShareSharedDataSource = args.sharedScreenShareSharedDataSource;
202
202
  this._abilityProvider = args.abilityProvider;
203
203
  this._streamControl = args.roomControl.getStreamControl();
204
204
  this._userControl = this._roomControl.getUserControl();
@@ -536,7 +536,7 @@ var ActionBarStore = exports["default"] = /*#__PURE__*/function () {
536
536
  }, {
537
537
  key: "sharingOwnerUser",
538
538
  get: function get() {
539
- return this._screenShareProvider.screenSharingOwner;
539
+ return this._sharedScreenShareSharedDataSource.screenSharingOwner;
540
540
  }
541
541
  }, {
542
542
  key: "hasEnableStartScreenSharePermission",
@@ -638,7 +638,7 @@ var ActionBarStore = exports["default"] = /*#__PURE__*/function () {
638
638
  }, {
639
639
  key: "isBoardWriteEnabled",
640
640
  get: function get() {
641
- return this._privilegeProvider.allowBoardWrite();
641
+ return this._privilegeProvider.allowBoardWriteState();
642
642
  }
643
643
  }, {
644
644
  key: "isWaterMarkEnabled",
@@ -790,6 +790,11 @@ var ActionBarStore = exports["default"] = /*#__PURE__*/function () {
790
790
  value: function setAllowWriteBoard(state) {
791
791
  this._privilegeProvider.setAllowWriteBoard(state);
792
792
  }
793
+ }, {
794
+ key: "setAllowAnnotation",
795
+ value: function setAllowAnnotation(state) {
796
+ this._privilegeProvider.setAllowWriteBoard(state);
797
+ }
793
798
  }, {
794
799
  key: "setAllowScreenShare",
795
800
  value: function setAllowScreenShare(state) {
@@ -993,10 +998,8 @@ var ActionBarStore = exports["default"] = /*#__PURE__*/function () {
993
998
  }, {
994
999
  key: "startScreenShare",
995
1000
  value: function startScreenShare() {
996
- console.log('performance: click button', new Date().getTime());
997
- // if (!this._interceptShareBoard()) return;
998
1001
  if (!this._interceptShareScreen()) return;
999
- this._eventProvider.startShareScreen();
1002
+ this._screenShareProvider.bootstrap();
1000
1003
  }
1001
1004
  }, {
1002
1005
  key: "openInterpreterDialog",
@@ -1199,10 +1202,13 @@ var ActionBarStore = exports["default"] = /*#__PURE__*/function () {
1199
1202
  reason1: ((_this$sharingOwnerUse3 = this.sharingOwnerUser) === null || _this$sharingOwnerUse3 === void 0 ? void 0 : _this$sharingOwnerUse3.userName) || (0, _i18n.transI18n)('fmt_actionbar_screenshare_labels_others')
1200
1203
  }),
1201
1204
  okText: (0, _i18n.transI18n)('fmt_screenshare_continue_share'),
1205
+ okButtonProps: {
1206
+ className: 'fcr-screenshare-continue-share'
1207
+ },
1202
1208
  closable: false,
1203
1209
  alignCenter: true,
1204
1210
  onOk: function onOk() {
1205
- _this5._eventProvider.startShareScreen();
1211
+ _this5._screenShareProvider.bootstrap();
1206
1212
  _this5._dialogProvider.closeConfirm(confirmKey);
1207
1213
  },
1208
1214
  onCancel: function onCancel() {
@@ -1227,7 +1233,7 @@ var ActionBarStore = exports["default"] = /*#__PURE__*/function () {
1227
1233
  closable: false,
1228
1234
  showCancel: false,
1229
1235
  onOk: function onOk() {
1230
- _this6._eventProvider.startShareScreen();
1236
+ _this6._screenShareProvider.bootstrap();
1231
1237
  _this6._dialogProvider.closeDialog(confirmKey);
1232
1238
  },
1233
1239
  onCancel: function onCancel() {
@@ -1552,7 +1558,7 @@ var ActionBarStore = exports["default"] = /*#__PURE__*/function () {
1552
1558
  }]);
1553
1559
  }();
1554
1560
  _ActionBarStore = ActionBarStore;
1555
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ActionBarStore, [[_mobx.observable, 1, "newMessageTooltipVisible"], [_mobx.observable, 1, "totalWaitingRoomUser"], [_mobx.observable, 1, "liveStreamingState"], [_mobx.observable, 1, "currentMenuIs"], [_mobx.observable, 1, "cloudRecordingState"], [_mobx.observable, 1, "connectionSettingVisible"], [_mobx.observable, 1, "folded"], [_mobx.observable, 1, "boardOwnerUser"], [_mobx.observable, 1, "hasScreenShare"], [_mobx.observable, 1, "showArrow"], [_mobx.observable, 1, "phoneMicEnabled"], [_mobx.observable, 1, "chatTabIndex"], [_mobx.observable, 1, "popoverOpened"], [_mobx.observable, 1, "stateBarLeaveMeeting"], [_mobx.observable, 1, "hasOfflineUserExistence"], [_mobx.observable, 1, "connectionState"], [_mobx.computed, 3, "checkedStateMap"], [_setCheckedStateMapDecs, 18, "setCheckedStateMap"], [_mobx.computed, 3, "registeredWidgetConfigs"], [_mobx.computed, 3, "asideLayout"], [_mobx.computed, 3, "chatRenderAt"], [_mobx.computed, 3, "participantsRenderAt"], [_mobx.computed, 3, "participantVisible"], [_mobx.computed, 3, "chatVisible"], [_mobx.computed, 3, "hasStartScreenSharePermission"], [_mobx.computed, 3, "hasStopScreenSharePermission"], [_mobx.computed, 3, "sharingOwnerUser"], [_mobx.computed, 3, "hasEnableStartScreenSharePermission"], [_mobx.computed, 3, "hasStartLiveStreamingPermission"], [_mobx.computed, 3, "hasEnableStartAudioPermission"], [_mobx.computed, 3, "hasEnableChangeNamePermission"], [_mobx.computed, 3, "hasEnableStartVideoPermission"], [_mobx.computed, 3, "hasLockRoomPermission"], [_mobx.computed, 3, "hasEnableJoinWithAudioPermission"], [_mobx.computed, 3, "hasWaitingRoomPermission"], [_mobx.computed, 3, "hasWatermarkDisablePermission"], [_mobx.computed, 3, "hasEnableStartSharePermission"], [_mobx.computed, 3, "hasAllowWriteBoardPermission"], [_mobx.computed, 3, "hasCloseWriteBoardPermission"], [_mobx.computed, 3, "hasAllowScreenShareAndBoardPermission"], [_mobx.computed, 3, "hasAllowChatPermission"], [_mobx.computed, 3, "hasStartCloudRecordingPermission"], [_mobx.computed, 3, "hasAssignHostBeforeLeavingPermission"], [_mobx.computed, 3, "hasEndRoomPermission"], [_mobx.computed, 3, "isScreenShareAndBoardEnabled"], [_mobx.computed, 3, "isBoardWriteEnabled"], [_mobx.computed, 3, "isWaterMarkEnabled"], [_mobx.computed, 3, "isMulti"], [_mobx.computed, 3, "hasEnableInterpreterPermission"], [_mobx.computed, 3, "hasDisableInterpreterPermission"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "allNewMessage"], [_mobx.computed, 3, "isMainRoom"], [_mobx.computed, 3, "hasAllowChangeNamePromission"], [_mobx.computed, 3, "hasDisallowChangeNamePromission"], [_mobx.computed, 3, "newMessageCount"], [_pauseCloudRecordingDecs, 2, "pauseCloudRecording"], [_resumeCloudRecordingDecs, 2, "resumeCloudRecording"], [_stopCloudRecordingDecs, 2, "stopCloudRecording"], [_decorator.bound, 2, "startCloudRecording"], [_showLockedRoomToastDecs, 18, "showLockedRoomToast"], [_toggleLayoutBarLockDecs, 18, "toggleLayoutBarLock"], [_showNewMessageTooltipDecs, 18, "showNewMessageTooltip"], [_hideNewMessageTooltipDecs, 18, "hideNewMessageTooltip"], [_switchMenuDecs, 18, "switchMenu"], [_mobx.computed, 3, "isLocked"], [_decorator.bound, 2, "isWaitingRoomEnabled"], [_decorator.bound, 2, "isAllowJoinWithAudioEnabled"], [_decorator.bound, 2, "enableMicrophone"], [_decorator.bound, 2, "setAllowWriteBoard"], [_decorator.bound, 2, "setAllowScreenShare"], [_setPopoverOpenedDecs, 18, "setPopoverOpened"], [_setStateBarLeaveMeetingDecs, 18, "setStateBarLeaveMeeting"], [_decorator.bound, 2, "getRoomType"], [_decorator.bound, 2, "allowJoinWithMuteAudio"], [_decorator.bound, 2, "setAllowJoinWithMuteAudio"], [_decorator.bound, 2, "isLockRoomEnabled"], [_decorator.bound, 2, "setLockRoomEnabled"], [_decorator.bound, 2, "setAllowShareScreen"], [_decorator.bound, 2, "allowShareScreen"], [_decorator.bound, 2, "allowWriteBoard"], [_decorator.bound, 2, "allowChat"], [_decorator.bound, 2, "setAllowChat"], [_decorator.bound, 2, "allowUnmuteSelfAudio"], [_decorator.bound, 2, "setAllowUnmuteSelfAudio"], [_decorator.bound, 2, "allowUnmuteSelfVideo"], [_decorator.bound, 2, "setAllowUnmuteSelfVideo"], [_decorator.bound, 2, "allowChangeName"], [_decorator.bound, 2, "toggleChat"], [_decorator.bound, 2, "openChat"], [_decorator.bound, 2, "closeChat"], [_decorator.bound, 2, "toggleParticipants"], [_decorator.bound, 2, "openParticipants"], [_decorator.bound, 2, "closeParticipants"], [_decorator.bound, 2, "openDeviceSettingDialog"], [_decorator.bound, 2, "startScreenShare"], [_decorator.bound, 2, "openInterpreterDialog"], [_decorator.bound, 2, "openWhiteboard"], [_decorator.bound, 2, "closeWhiteboard"], [_decorator.bound, 2, "closeShareScreen"], [_decorator.bound, 2, "openLiveStreamingDialog"], [_decorator.bound, 2, "toggleConnection"], [_decorator.bound, 2, "openConnection"], [_decorator.bound, 2, "closeConnection"], [_handleJoinWaitingRoomDecs, 18, "_handleJoinWaitingRoom"], [_toggleFoldDecs, 18, "toggleFold"], [_setShowArrowDecs, 18, "setShowArrow"], [_setEnableWaitingRoomDecs, 18, "setEnableWaitingRoom"], [_kickOutWaitingRoomAllMemberDecs, 18, "kickOutWaitingRoomAllMember"], [_moveToMainRoomAllMemberDecs, 18, "moveToMainRoomAllMember"], [_decorator.bound, 2, "_interceptShareScreen"], [_decorator.bound, 2, "_interceptShareBoard"], [_handleRemoteUsersJoinedDecs, 18, "_handleRemoteUsersJoined"], [_handleRemoteUsersLeftDecs, 18, "_handleRemoteUsersLeft"], [_handleLiveStreamingStateUpdatedDecs, 18, "_handleLiveStreamingStateUpdated"], [_handleChatVisibleDecs, 18, "_handleChatVisible"], [_handlerTraceScreenCaptureStateUpdateDecs, 18, "_handlerTraceScreenCaptureStateUpdate"], [_decorator.bound, 2, "setAllowWaterMark"], [_decorator.bound, 2, "setWaterMarkLineType"], [_decorator.bound, 2, "setAlllowChangeName"], [_decorator.bound, 2, "_onEvent"], [_operateWaitingRoomDecs, 18, "_operateWaitingRoom"], [_handleCloudRecordingStateUpdatedDecs, 18, "_handleCloudRecordingStateUpdated"], [_handleStreamsAddedOrUpdatedDecs, 18, "_handleStreamsAddedOrUpdated"], [_setOutputLanguageDecs, 18, "setOutputLanguage"], [_subscribeLanguageDecs, 18, "subscribeLanguage"], [_subscribeExtraOriginLanguageDecs, 18, "subscribeExtraOriginLanguage"], [_getOfflineUserExistenceStateDecs, 18, "getOfflineUserExistenceState"], [_openWidgetDecs, 18, "openWidget"], [_closeWidgetDecs, 18, "closeWidget"]], []).e, 17);
1561
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_ActionBarStore, [[_mobx.observable, 1, "newMessageTooltipVisible"], [_mobx.observable, 1, "totalWaitingRoomUser"], [_mobx.observable, 1, "liveStreamingState"], [_mobx.observable, 1, "currentMenuIs"], [_mobx.observable, 1, "cloudRecordingState"], [_mobx.observable, 1, "connectionSettingVisible"], [_mobx.observable, 1, "folded"], [_mobx.observable, 1, "boardOwnerUser"], [_mobx.observable, 1, "hasScreenShare"], [_mobx.observable, 1, "showArrow"], [_mobx.observable, 1, "phoneMicEnabled"], [_mobx.observable, 1, "chatTabIndex"], [_mobx.observable, 1, "popoverOpened"], [_mobx.observable, 1, "stateBarLeaveMeeting"], [_mobx.observable, 1, "hasOfflineUserExistence"], [_mobx.observable, 1, "connectionState"], [_mobx.computed, 3, "checkedStateMap"], [_setCheckedStateMapDecs, 18, "setCheckedStateMap"], [_mobx.computed, 3, "registeredWidgetConfigs"], [_mobx.computed, 3, "asideLayout"], [_mobx.computed, 3, "chatRenderAt"], [_mobx.computed, 3, "participantsRenderAt"], [_mobx.computed, 3, "participantVisible"], [_mobx.computed, 3, "chatVisible"], [_mobx.computed, 3, "hasStartScreenSharePermission"], [_mobx.computed, 3, "hasStopScreenSharePermission"], [_mobx.computed, 3, "sharingOwnerUser"], [_mobx.computed, 3, "hasEnableStartScreenSharePermission"], [_mobx.computed, 3, "hasStartLiveStreamingPermission"], [_mobx.computed, 3, "hasEnableStartAudioPermission"], [_mobx.computed, 3, "hasEnableChangeNamePermission"], [_mobx.computed, 3, "hasEnableStartVideoPermission"], [_mobx.computed, 3, "hasLockRoomPermission"], [_mobx.computed, 3, "hasEnableJoinWithAudioPermission"], [_mobx.computed, 3, "hasWaitingRoomPermission"], [_mobx.computed, 3, "hasWatermarkDisablePermission"], [_mobx.computed, 3, "hasEnableStartSharePermission"], [_mobx.computed, 3, "hasAllowWriteBoardPermission"], [_mobx.computed, 3, "hasCloseWriteBoardPermission"], [_mobx.computed, 3, "hasAllowScreenShareAndBoardPermission"], [_mobx.computed, 3, "hasAllowChatPermission"], [_mobx.computed, 3, "hasStartCloudRecordingPermission"], [_mobx.computed, 3, "hasAssignHostBeforeLeavingPermission"], [_mobx.computed, 3, "hasEndRoomPermission"], [_mobx.computed, 3, "isScreenShareAndBoardEnabled"], [_mobx.computed, 3, "isBoardWriteEnabled"], [_mobx.computed, 3, "isWaterMarkEnabled"], [_mobx.computed, 3, "isMulti"], [_mobx.computed, 3, "hasEnableInterpreterPermission"], [_mobx.computed, 3, "hasDisableInterpreterPermission"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "allNewMessage"], [_mobx.computed, 3, "isMainRoom"], [_mobx.computed, 3, "hasAllowChangeNamePromission"], [_mobx.computed, 3, "hasDisallowChangeNamePromission"], [_mobx.computed, 3, "newMessageCount"], [_pauseCloudRecordingDecs, 2, "pauseCloudRecording"], [_resumeCloudRecordingDecs, 2, "resumeCloudRecording"], [_stopCloudRecordingDecs, 2, "stopCloudRecording"], [_decorator.bound, 2, "startCloudRecording"], [_showLockedRoomToastDecs, 18, "showLockedRoomToast"], [_toggleLayoutBarLockDecs, 18, "toggleLayoutBarLock"], [_showNewMessageTooltipDecs, 18, "showNewMessageTooltip"], [_hideNewMessageTooltipDecs, 18, "hideNewMessageTooltip"], [_switchMenuDecs, 18, "switchMenu"], [_mobx.computed, 3, "isLocked"], [_decorator.bound, 2, "isWaitingRoomEnabled"], [_decorator.bound, 2, "isAllowJoinWithAudioEnabled"], [_decorator.bound, 2, "enableMicrophone"], [_decorator.bound, 2, "setAllowWriteBoard"], [_decorator.bound, 2, "setAllowAnnotation"], [_decorator.bound, 2, "setAllowScreenShare"], [_setPopoverOpenedDecs, 18, "setPopoverOpened"], [_setStateBarLeaveMeetingDecs, 18, "setStateBarLeaveMeeting"], [_decorator.bound, 2, "getRoomType"], [_decorator.bound, 2, "allowJoinWithMuteAudio"], [_decorator.bound, 2, "setAllowJoinWithMuteAudio"], [_decorator.bound, 2, "isLockRoomEnabled"], [_decorator.bound, 2, "setLockRoomEnabled"], [_decorator.bound, 2, "setAllowShareScreen"], [_decorator.bound, 2, "allowShareScreen"], [_decorator.bound, 2, "allowWriteBoard"], [_decorator.bound, 2, "allowChat"], [_decorator.bound, 2, "setAllowChat"], [_decorator.bound, 2, "allowUnmuteSelfAudio"], [_decorator.bound, 2, "setAllowUnmuteSelfAudio"], [_decorator.bound, 2, "allowUnmuteSelfVideo"], [_decorator.bound, 2, "setAllowUnmuteSelfVideo"], [_decorator.bound, 2, "allowChangeName"], [_decorator.bound, 2, "toggleChat"], [_decorator.bound, 2, "openChat"], [_decorator.bound, 2, "closeChat"], [_decorator.bound, 2, "toggleParticipants"], [_decorator.bound, 2, "openParticipants"], [_decorator.bound, 2, "closeParticipants"], [_decorator.bound, 2, "openDeviceSettingDialog"], [_decorator.bound, 2, "startScreenShare"], [_decorator.bound, 2, "openInterpreterDialog"], [_decorator.bound, 2, "openWhiteboard"], [_decorator.bound, 2, "closeWhiteboard"], [_decorator.bound, 2, "closeShareScreen"], [_decorator.bound, 2, "openLiveStreamingDialog"], [_decorator.bound, 2, "toggleConnection"], [_decorator.bound, 2, "openConnection"], [_decorator.bound, 2, "closeConnection"], [_handleJoinWaitingRoomDecs, 18, "_handleJoinWaitingRoom"], [_toggleFoldDecs, 18, "toggleFold"], [_setShowArrowDecs, 18, "setShowArrow"], [_setEnableWaitingRoomDecs, 18, "setEnableWaitingRoom"], [_kickOutWaitingRoomAllMemberDecs, 18, "kickOutWaitingRoomAllMember"], [_moveToMainRoomAllMemberDecs, 18, "moveToMainRoomAllMember"], [_decorator.bound, 2, "_interceptShareScreen"], [_decorator.bound, 2, "_interceptShareBoard"], [_handleRemoteUsersJoinedDecs, 18, "_handleRemoteUsersJoined"], [_handleRemoteUsersLeftDecs, 18, "_handleRemoteUsersLeft"], [_handleLiveStreamingStateUpdatedDecs, 18, "_handleLiveStreamingStateUpdated"], [_handleChatVisibleDecs, 18, "_handleChatVisible"], [_handlerTraceScreenCaptureStateUpdateDecs, 18, "_handlerTraceScreenCaptureStateUpdate"], [_decorator.bound, 2, "setAllowWaterMark"], [_decorator.bound, 2, "setWaterMarkLineType"], [_decorator.bound, 2, "setAlllowChangeName"], [_decorator.bound, 2, "_onEvent"], [_operateWaitingRoomDecs, 18, "_operateWaitingRoom"], [_handleCloudRecordingStateUpdatedDecs, 18, "_handleCloudRecordingStateUpdated"], [_handleStreamsAddedOrUpdatedDecs, 18, "_handleStreamsAddedOrUpdated"], [_setOutputLanguageDecs, 18, "setOutputLanguage"], [_subscribeLanguageDecs, 18, "subscribeLanguage"], [_subscribeExtraOriginLanguageDecs, 18, "subscribeExtraOriginLanguage"], [_getOfflineUserExistenceStateDecs, 18, "getOfflineUserExistenceState"], [_openWidgetDecs, 18, "openWidget"], [_closeWidgetDecs, 18, "closeWidget"]], []).e, 17);
1556
1562
  _init_newMessageTooltipVisible = _applyDecs$e[0];
1557
1563
  _init_totalWaitingRoomUser = _applyDecs$e[1];
1558
1564
  _init_liveStreamingState = _applyDecs$e[2];
@@ -0,0 +1,48 @@
1
+ .annotation-control-bar {
2
+ /* position: absolute;
3
+ top: 0;
4
+ left: 0; */
5
+ width: 100%;
6
+ height: 28px;
7
+ background-color: var(--fcr_web_ui_scene_fill2);
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+ z-index: 1000;
12
+ border-top: 2px solid var(--fcr_web_ui_scene_border1);
13
+ border-bottom: 4px solid var(--fcr_web_ui_scene_border1);
14
+ padding: 10px;
15
+ }
16
+
17
+ .annotation-control-bar-username {
18
+ margin-right: 10px;
19
+ }
20
+
21
+ .fcr-annotation-exit-draw-btn {
22
+ margin-left: 12px;
23
+ }
24
+
25
+ .fcr-annotation-exit-draw-btn p,
26
+ .fcr-annotation-exit-draw-btn div {
27
+ min-width: 100%;
28
+ overflow: hidden;
29
+ text-overflow: ellipsis;
30
+ white-space: nowrap;
31
+ }
32
+
33
+ .annotation-control-bar-without-exit {
34
+ margin-left: 12px;
35
+ width: 20px;
36
+ }
37
+
38
+ .annotation-toolbar-btn {
39
+ margin-left: 0px !important;
40
+ width: 80px !important;
41
+ }
42
+
43
+ .annotation-toolbar-btn p {
44
+ width: 80px !important;
45
+ overflow: hidden;
46
+ text-overflow: ellipsis;
47
+ white-space: nowrap;
48
+ }
@@ -0,0 +1,3 @@
1
+ import './index.css';
2
+ declare const FcrAnnotationControlBar: () => import("react/jsx-runtime").JSX.Element;
3
+ export default FcrAnnotationControlBar;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _react = require("react");
9
+ require("./index.css");
10
+ var _store = require("../../store");
11
+ var _fcrCore = require("fcr-core");
12
+ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
13
+ var _i18n = require("agora-ui-foundation/lib/i18n");
14
+ var _icon = require("agora-ui-foundation/lib/components/icon");
15
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
16
+ var _mobxReact = require("mobx-react");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var FcrAnnotationControlBar = (0, _mobxReact.observer)(function () {
19
+ var _useContext = (0, _react.useContext)(_store.AnnotationStoreContext),
20
+ screenShareWindowData = _useContext.screenShareWindowData,
21
+ zoomIn = _useContext.zoomIn,
22
+ zoomOut = _useContext.zoomOut,
23
+ fullContainer = _useContext.fullContainer,
24
+ setOriginScalc = _useContext.setOriginScalc,
25
+ allowAnnotationWriteState = _useContext.allowAnnotationWriteState,
26
+ setToolsShow = _useContext.setToolsShow,
27
+ isShowToolbar = _useContext.isShowToolbar;
28
+ var transI18n = (0, _i18n.useI18n)();
29
+ var isMinimum = false;
30
+ var isMaxmum = false;
31
+ var isAdaptived = false;
32
+ var isOriginal = false;
33
+ var hasScreenSharing = screenShareWindowData && screenShareWindowData.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
34
+ var hasLoopbackAudioStream = hasScreenSharing && screenShareWindowData.hasLoopbackSharing && screenShareWindowData.hasMicrophoneAudioStream;
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
36
+ className: "annotation-control-bar",
37
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
38
+ className: "whiteboard-controlbar-left",
39
+ children: screenShareWindowData ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
40
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
41
+ className: "annotation-control-bar-username",
42
+ children: [screenShareWindowData.userName, transI18n('fmt_uimanager_labels_sharing')]
43
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
44
+ type: !!hasLoopbackAudioStream ? _type.FcrIconType.FCR_DEVICEAUDIOON : _type.FcrIconType.FCR_DEVICEAUDIOOFF,
45
+ size: 22,
46
+ colors: {
47
+ iconPrimary: 'var(--fcr_ui_scene_ramp_green6)'
48
+ },
49
+ style: {
50
+ marginRight: '10px'
51
+ }
52
+ })]
53
+ }) : null
54
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
55
+ className: "whiteboard-controlbar-center",
56
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
57
+ content: isMinimum ? transI18n('fmt_screenshare_whiteboard_tips_alreadyminumumsize') : transI18n('fmt_screenshare_whiteboard_button_narrow'),
58
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
59
+ className: "whiteboard-controlbar-item",
60
+ onClick: zoomOut,
61
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
62
+ type: _type.FcrIconType.FCR_ZOOMOUT,
63
+ size: 22,
64
+ colors: {
65
+ iconPrimary: isMinimum ? 'gray' : 'var(--fcr_ui_scene_icontext1)'
66
+ }
67
+ })
68
+ })
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
70
+ content: isMaxmum ? transI18n('fmt_screenshare_whiteboard_tips_alreadymaximumsize') : transI18n('fmt_screenshare_whiteboard_button_enlarge'),
71
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
72
+ className: "whiteboard-controlbar-item",
73
+ onClick: zoomIn,
74
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
75
+ type: _type.FcrIconType.FCR_ZOOMIN,
76
+ size: 22,
77
+ colors: {
78
+ iconPrimary: isMaxmum ? 'gray' : 'var(--fcr_ui_scene_icontext1)'
79
+ }
80
+ })
81
+ })
82
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
83
+ content: isOriginal ? transI18n('fmt_screenshare_tips_alreadyoriginalsize') : transI18n('fmt_screenshare_lables_originalsize'),
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
85
+ className: "whiteboard-controlbar-item",
86
+ onClick: setOriginScalc,
87
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
88
+ type: _type.FcrIconType.FCR_EQUALRATIO,
89
+ size: 22,
90
+ colors: {
91
+ iconPrimary: isOriginal ? 'gray' : 'var(--fcr_ui_scene_icontext1)'
92
+ }
93
+ })
94
+ })
95
+ })]
96
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
97
+ className: "whiteboard-controlbar-right"
98
+ })]
99
+ });
100
+ });
101
+ var _default = exports["default"] = FcrAnnotationControlBar;
@@ -0,0 +1,3 @@
1
+ export declare const AnnotationColorPanel: (props: {
2
+ onClick: (color: string) => void;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AnnotationColorPanel = void 0;
8
+ require("core-js/modules/es.array.map.js");
9
+ require("core-js/modules/esnext.async-iterator.map.js");
10
+ require("core-js/modules/esnext.iterator.map.js");
11
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
12
+ var _item = require("../../item/item");
13
+ var _panel = require("../../panel");
14
+ var _mobxReact = require("mobx-react");
15
+ var _store = require("../../../store");
16
+ var _react = require("react");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var AnnotationColorPanel = exports.AnnotationColorPanel = (0, _mobxReact.observer)(function (props) {
19
+ var onClick = props.onClick;
20
+ var _useContext = (0, _react.useContext)(_store.AnnotationToolbarContext),
21
+ _useContext$observabl = _useContext.observables,
22
+ colors = _useContext$observabl.colors,
23
+ currentColor = _useContext$observabl.currentColor;
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
25
+ header: colors.map(function (color, index) {
26
+ return index < colors.length / 2 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
27
+ active: currentColor === color,
28
+ iconType: _type.FcrIconType.FCR_COLOR,
29
+ color: color,
30
+ lineColor: currentColor === color ? color : 'transparent',
31
+ onClick: onClick,
32
+ selected: currentColor === color
33
+ }, color);
34
+ }),
35
+ footer: colors.map(function (color, index) {
36
+ return index >= colors.length / 2 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
37
+ active: currentColor === color,
38
+ iconType: _type.FcrIconType.FCR_COLOR,
39
+ color: color,
40
+ lineColor: currentColor === color ? color : 'transparent',
41
+ onClick: onClick,
42
+ selected: currentColor === color
43
+ }, color);
44
+ })
45
+ });
46
+ });
@@ -0,0 +1 @@
1
+ export declare const AnnotationColorTool: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,52 @@
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.AnnotationColorTool = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
11
+ var _item = require("../item/item");
12
+ var _colorPanel = require("./color-panel");
13
+ var _mobxReact = require("mobx-react");
14
+ var _store = require("../../store");
15
+ var _react = require("react");
16
+ var _i18n = require("agora-ui-foundation/lib/i18n");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var AnnotationColorTool = exports.AnnotationColorTool = (0, _mobxReact.observer)(function () {
19
+ var _useContext = (0, _react.useContext)(_store.AnnotationToolbarContext),
20
+ currentColor = _useContext.observables.currentColor,
21
+ setStrokeColor = _useContext.setStrokeColor,
22
+ popoverVisible = _useContext.popoverVisible,
23
+ setPopoverVisible = _useContext.setPopoverVisible;
24
+ var t = (0, _i18n.useI18n)();
25
+ var _useState = (0, _react.useState)(false),
26
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
27
+ visible = _useState2[0],
28
+ setVisible = _useState2[1];
29
+ var handleClick = function handleClick(color) {
30
+ setStrokeColor(color);
31
+ setVisible(!visible);
32
+ setPopoverVisible(!visible);
33
+ };
34
+ var handleVisibleChange = function handleVisibleChange(visible) {
35
+ setVisible(visible);
36
+ setPopoverVisible(visible);
37
+ };
38
+ (0, _react.useEffect)(function () {
39
+ !popoverVisible && setVisible(false);
40
+ }, [popoverVisible]);
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
42
+ iconType: _type.FcrIconType.FCR_COLOR,
43
+ color: currentColor,
44
+ title: t('fmt_whiteboard_labels_colour'),
45
+ lineColor: "transparent",
46
+ visible: visible && popoverVisible,
47
+ onVisibleChange: handleVisibleChange,
48
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_colorPanel.AnnotationColorPanel, {
49
+ onClick: handleClick
50
+ })
51
+ });
52
+ });
@@ -0,0 +1,3 @@
1
+ export declare const AnnotationGraphicPanel: (props: {
2
+ onClick: () => void;
3
+ }) => 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
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AnnotationGraphicPanel = void 0;
8
+ require("core-js/modules/es.array.map.js");
9
+ require("core-js/modules/esnext.async-iterator.map.js");
10
+ require("core-js/modules/esnext.iterator.map.js");
11
+ var _item = require("../../item/item");
12
+ var _panel = require("../../panel");
13
+ var _mobxReact = require("mobx-react");
14
+ var _store = require("../../../store");
15
+ var _react = require("react");
16
+ var _libs = require("./libs");
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ var AnnotationGraphicPanel = exports.AnnotationGraphicPanel = (0, _mobxReact.observer)(function (props) {
19
+ var _useContext = (0, _react.useContext)(_store.AnnotationToolbarContext),
20
+ _useContext$observabl = _useContext.observables,
21
+ currentShape = _useContext$observabl.currentShape,
22
+ currentStrokeWidth = _useContext$observabl.currentStrokeWidth,
23
+ setShape = _useContext.setShape,
24
+ setTool = _useContext.setTool,
25
+ setStrokeWidth = _useContext.setStrokeWidth;
26
+ var onClick = props.onClick;
27
+ var handleShapeClick = function handleShapeClick(shape) {
28
+ return function () {
29
+ // onClick();
30
+ setShape(shape);
31
+ setTool((0, _libs.convertShapeToBoardToolType)(shape));
32
+ };
33
+ };
34
+ var handleLineWidthClick = function handleLineWidthClick(lineWidth) {
35
+ return function () {
36
+ // onClick();
37
+ setStrokeWidth(lineWidth);
38
+ };
39
+ };
40
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
41
+ header: _libs.tools.map(function (tool) {
42
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
43
+ onClick: handleShapeClick(tool.shape),
44
+ active: currentShape === tool.shape,
45
+ iconType: tool.iconType
46
+ }, tool.shape);
47
+ }),
48
+ footer: _libs.lineWidths.map(function (_ref, index) {
49
+ var iconType = _ref.iconType,
50
+ width = _ref.width;
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
52
+ onClick: handleLineWidthClick(width),
53
+ active: currentStrokeWidth === width,
54
+ iconType: iconType,
55
+ level: index + 1
56
+ }, width);
57
+ })
58
+ });
59
+ });
@@ -0,0 +1,11 @@
1
+ import { FcrIconType } from 'agora-ui-foundation/lib/components/icon/type';
2
+ import { FcrBoardShape, FcrBoardToolType } from 'fcr-core/lib/room-control/whiteboard-control/enums';
3
+ export declare const tools: {
4
+ iconType: FcrIconType;
5
+ shape: FcrBoardShape;
6
+ }[];
7
+ export declare const lineWidths: {
8
+ iconType: FcrIconType;
9
+ width: number;
10
+ }[];
11
+ export declare function convertShapeToBoardToolType(shape: FcrBoardShape): FcrBoardToolType;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.convertShapeToBoardToolType = convertShapeToBoardToolType;
8
+ exports.tools = exports.lineWidths = void 0;
9
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
10
+ var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
11
+ var tools = exports.tools = [{
12
+ iconType: _type.FcrIconType.FCR_WHITEBOARD_SHAP_SQUARE,
13
+ shape: _enums.FcrBoardShape.Rectangle
14
+ }, {
15
+ iconType: _type.FcrIconType.FCR_WHITEBOARD_SHAP_CIRCLE,
16
+ shape: _enums.FcrBoardShape.Ellipse
17
+ }, {
18
+ iconType: _type.FcrIconType.FCR_WHITEBOARD_SHAP_TRIANGLE,
19
+ shape: _enums.FcrBoardShape.Triangle
20
+ }, {
21
+ iconType: _type.FcrIconType.FCR_WHITEBOARD_SHAP_LINE,
22
+ shape: _enums.FcrBoardShape.Straight
23
+ }, {
24
+ iconType: _type.FcrIconType.FCR_WHITEBOARD_SHAP_ARROW,
25
+ shape: _enums.FcrBoardShape.Arrow
26
+ }];
27
+ var lineWidths = exports.lineWidths = [{
28
+ iconType: _type.FcrIconType.FCR_PENSIZE,
29
+ width: 2
30
+ }, {
31
+ iconType: _type.FcrIconType.FCR_PENSIZE,
32
+ width: 4
33
+ }, {
34
+ iconType: _type.FcrIconType.FCR_PENSIZE,
35
+ width: 5
36
+ }, {
37
+ iconType: _type.FcrIconType.FCR_PENSIZE,
38
+ width: 6
39
+ }];
40
+ function convertShapeToBoardToolType(shape) {
41
+ switch (shape) {
42
+ case _enums.FcrBoardShape.Arrow:
43
+ return _enums.FcrBoardToolType.ARROW;
44
+ case _enums.FcrBoardShape.Curve:
45
+ return _enums.FcrBoardToolType.CURVE;
46
+ case _enums.FcrBoardShape.Ellipse:
47
+ return _enums.FcrBoardToolType.ELLIPSE;
48
+ case _enums.FcrBoardShape.Pentagram:
49
+ return _enums.FcrBoardToolType.PENTAGRAM;
50
+ case _enums.FcrBoardShape.Rectangle:
51
+ return _enums.FcrBoardToolType.RECTANGLE;
52
+ case _enums.FcrBoardShape.Straight:
53
+ return _enums.FcrBoardToolType.STRAIGHT;
54
+ case _enums.FcrBoardShape.Triangle:
55
+ return _enums.FcrBoardToolType.TRIANGLE;
56
+ default:
57
+ return _enums.FcrBoardToolType.NONE;
58
+ }
59
+ }
@@ -0,0 +1 @@
1
+ export declare const AnnotationGraphicTool: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,68 @@
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.AnnotationGraphicTool = void 0;
9
+ require("core-js/modules/es.array.find.js");
10
+ require("core-js/modules/es.array.some.js");
11
+ require("core-js/modules/es.object.to-string.js");
12
+ require("core-js/modules/esnext.async-iterator.find.js");
13
+ require("core-js/modules/esnext.async-iterator.some.js");
14
+ require("core-js/modules/esnext.iterator.constructor.js");
15
+ require("core-js/modules/esnext.iterator.find.js");
16
+ require("core-js/modules/esnext.iterator.some.js");
17
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
18
+ var _item = require("../item/item");
19
+ var _graphicPanel = require("./graphic-panel");
20
+ var _mobxReact = require("mobx-react");
21
+ var _store = require("../../store");
22
+ var _react = require("react");
23
+ var _libs = require("./graphic-panel/libs");
24
+ var _i18n = require("agora-ui-foundation/lib/i18n");
25
+ var _jsxRuntime = require("react/jsx-runtime");
26
+ var AnnotationGraphicTool = exports.AnnotationGraphicTool = (0, _mobxReact.observer)(function () {
27
+ var _useContext = (0, _react.useContext)(_store.AnnotationToolbarContext),
28
+ _useContext$observabl = _useContext.observables,
29
+ currentColor = _useContext$observabl.currentColor,
30
+ currentShape = _useContext$observabl.currentShape,
31
+ currentTool = _useContext$observabl.currentTool,
32
+ setTool = _useContext.setTool,
33
+ popoverVisible = _useContext.popoverVisible,
34
+ setPopoverVisible = _useContext.setPopoverVisible;
35
+ var _useState = (0, _react.useState)(false),
36
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
37
+ visible = _useState2[0],
38
+ setVisible = _useState2[1];
39
+ var t = (0, _i18n.useI18n)();
40
+ var handleClick = function handleClick() {
41
+ setVisible(!visible);
42
+ setPopoverVisible(!visible);
43
+ setTool((0, _libs.convertShapeToBoardToolType)(currentShape));
44
+ };
45
+ var handleVisibleChange = function handleVisibleChange(visible) {
46
+ setVisible(visible);
47
+ setPopoverVisible(visible);
48
+ };
49
+ (0, _react.useEffect)(function () {
50
+ !popoverVisible && setVisible(false);
51
+ }, [popoverVisible]);
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
53
+ active: _libs.tools.some(function (tool) {
54
+ return (0, _libs.convertShapeToBoardToolType)(tool.shape) === currentTool;
55
+ }),
56
+ iconType: _libs.tools.find(function (tool) {
57
+ return tool.shape === currentShape;
58
+ }).iconType,
59
+ title: t('fmt_screenshare_whiteboard_button_shape'),
60
+ color: currentColor,
61
+ visible: visible && popoverVisible,
62
+ onVisibleChange: handleVisibleChange,
63
+ onClick: handleClick,
64
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_graphicPanel.AnnotationGraphicPanel, {
65
+ onClick: handleClick
66
+ })
67
+ });
68
+ });
@@ -0,0 +1,17 @@
1
+ import { FcrIconType } from 'agora-ui-foundation/lib/components/icon/type';
2
+ import './style.css';
3
+ export declare const AnnotationToolItem: (props: {
4
+ iconType: FcrIconType;
5
+ title?: string;
6
+ size?: number;
7
+ active?: boolean;
8
+ content?: React.ReactNode;
9
+ color?: string;
10
+ disabled?: boolean;
11
+ lineColor?: string;
12
+ onClick?: (value: string) => void;
13
+ visible?: boolean;
14
+ onVisibleChange?: (visible: boolean) => void;
15
+ level?: number;
16
+ selected?: boolean;
17
+ }) => import("react/jsx-runtime").JSX.Element;