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
@@ -0,0 +1,115 @@
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.AnnotationToolItem = void 0;
9
+ require("core-js/modules/es.array.concat.js");
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _icon = require("agora-ui-foundation/lib/components/icon");
12
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
13
+ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
14
+ var _popover = require("agora-ui-foundation/lib/components/popover");
15
+ var _react = require("react");
16
+ var _hostAreaContainer = require("../../../../../dialog/components/host-area-container");
17
+ require("./style.css");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ var AnnotationToolItem = exports.AnnotationToolItem = function AnnotationToolItem(props) {
20
+ var _props$iconType = props.iconType,
21
+ iconType = _props$iconType === void 0 ? _type.FcrIconType.FCR_WHITEBOARD_TEXT : _props$iconType,
22
+ title = props.title,
23
+ _props$size = props.size,
24
+ size = _props$size === void 0 ? 32 : _props$size,
25
+ _props$active = props.active,
26
+ active = _props$active === void 0 ? false : _props$active,
27
+ content = props.content,
28
+ color = props.color,
29
+ _props$disabled = props.disabled,
30
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
31
+ lineColor = props.lineColor,
32
+ onClick = props.onClick,
33
+ visible = props.visible,
34
+ onVisibleChange = props.onVisibleChange,
35
+ level = props.level,
36
+ selected = props.selected;
37
+ var _useContext = (0, _react.useContext)(_hostAreaContainer.HotAreaContext),
38
+ placement = _useContext.placement;
39
+ var _useState = (0, _react.useState)(visible),
40
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
41
+ visibled = _useState2[0],
42
+ setVisible = _useState2[1];
43
+ var _useState3 = (0, _react.useState)(false),
44
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
45
+ hover = _useState4[0],
46
+ setHover = _useState4[1];
47
+ var defaultColor = "var(".concat(active || visibled ? "--fcr_ui_scene_ramp_brand6" : "--fcr_ui_scene_icontext1", ")");
48
+ var disabledColor = "".concat(disabled ? "var(--fcr_ui_scene_icontext3)" : defaultColor);
49
+ var handleClick = function handleClick() {
50
+ if (disabled) return;
51
+ onClick === null || onClick === void 0 || onClick(color || '');
52
+ };
53
+ var handleVisibleChange = function handleVisibleChange(visible) {
54
+ onVisibleChange === null || onVisibleChange === void 0 || onVisibleChange(visible);
55
+ setVisible(visible);
56
+ };
57
+ (0, _react.useEffect)(function () {
58
+ setVisible(!!visible);
59
+ }, [visible]);
60
+ var hasSelected = typeof selected === 'boolean';
61
+ var handleMouseEnter = function handleMouseEnter() {
62
+ hasSelected && setHover(!hover);
63
+ };
64
+ var element = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
65
+ className: "annotation-toolbar-item ".concat((active || visibled) && !hasSelected ? 'is-active' : '', " ").concat(disabled ? 'is-disabled' : ''),
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
67
+ className: "annotation-toolbar-item-icon",
68
+ onMouseEnter: handleMouseEnter,
69
+ onMouseLeave: handleMouseEnter,
70
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
71
+ onClick: handleClick,
72
+ type: iconType,
73
+ size: size,
74
+ fill: "none",
75
+ colors: {
76
+ iconPrimary: color || disabledColor,
77
+ iconSecondary: hover ? color : lineColor || defaultColor,
78
+ level: level,
79
+ selected: selected
80
+ }
81
+ })
82
+ }), title && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
83
+ className: "annotation-toolbar-item-title",
84
+ children: title
85
+ })]
86
+ });
87
+ return title ? content ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
88
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
89
+ showArrow: false,
90
+ content: title,
91
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
92
+ visible: visibled,
93
+ overlayOffset: 10,
94
+ overlayInnerStyle: {
95
+ width: 'fit-content'
96
+ },
97
+ placement: placement,
98
+ getTooltipContainer: function getTooltipContainer(e) {
99
+ return e;
100
+ },
101
+ trigger: "click",
102
+ showArrow: false,
103
+ content: content,
104
+ onVisibleChange: handleVisibleChange,
105
+ children: element
106
+ })
107
+ })
108
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
109
+ showArrow: false,
110
+ visible: visibled,
111
+ content: title,
112
+ onVisibleChange: handleVisibleChange,
113
+ children: element
114
+ }) : element;
115
+ };
@@ -0,0 +1,43 @@
1
+ .annotation-toolbar-item {
2
+ min-width: 36px;
3
+ max-width: 64px;
4
+ min-height: 36px;
5
+ max-height: 52px;
6
+ display: flex;
7
+ flex-direction: column;
8
+ align-items: center;
9
+ justify-content: center;
10
+ color: var(--fcr_ui_scene_icontext1);
11
+ cursor: pointer;
12
+ }
13
+
14
+ .annotation-toolbar-item-icon {
15
+ max-width: 44px;
16
+ min-width: 32px;
17
+ height: 32px;
18
+ border-radius: var(--fcr_cornerradius_xs);
19
+ display: flex;
20
+ justify-content: center;
21
+ }
22
+
23
+ .annotation-toolbar-item-title {
24
+ margin-top: 4px;
25
+ font-size: 12px;
26
+ font-weight: 300;
27
+ }
28
+
29
+ .annotation-toolbar-item.is-active > .annotation-toolbar-item-icon {
30
+ background: var(--fcr_ui_scene_ramp_brand0);
31
+ }
32
+
33
+ .annotation-toolbar-item.is-active > .annotation-toolbar-item-title {
34
+ color: var(--fcr_ui_scene_ramp_brand6);
35
+ }
36
+
37
+ .annotation-toolbar-item.is-disabled {
38
+ cursor: not-allowed;
39
+ }
40
+
41
+ .annotation-toolbar-item.is-disabled > .annotation-toolbar-item-title {
42
+ color: var(--fcr_ui_scene_icontext3);
43
+ }
@@ -0,0 +1,5 @@
1
+ import './style.css';
2
+ export declare const AnnotationToolPanel: (props: {
3
+ header: React.ReactNode;
4
+ footer?: React.ReactNode;
5
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
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.AnnotationToolPanel = void 0;
8
+ require("./style.css");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ var AnnotationToolPanel = exports.AnnotationToolPanel = function AnnotationToolPanel(props) {
11
+ var footer = props.footer;
12
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
13
+ className: "annotation-toolbar-panel",
14
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
15
+ className: "annotation-toolbar-panel-header",
16
+ children: props.header
17
+ }), footer && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
18
+ className: "annotation-toolbar-panel-footer",
19
+ children: props.footer
20
+ })]
21
+ });
22
+ };
@@ -0,0 +1,24 @@
1
+ .annotation-toolbar-panel {
2
+ max-width: 300px;
3
+ height: auto;
4
+ background: var(fcr_mobile_ui_scene_color_popup_fill2);
5
+ border-radius: var(--fcr_cornerradius_l);
6
+ padding: 12px;
7
+ }
8
+
9
+ .annotation-toolbar-panel > div {
10
+ height: 36px;
11
+ display: flex;
12
+ gap: 12px;
13
+ box-sizing: content-box;
14
+ }
15
+
16
+ .annotation-toolbar-panel .annotation-toolbar-item {
17
+ width: 36px;
18
+ }
19
+
20
+ .annotation-toolbar-panel-footer {
21
+ border-top: 1px solid var(--fcr_ui_scene_line1);
22
+ padding-top: 8px;
23
+ margin-top: 8px;
24
+ }
@@ -0,0 +1 @@
1
+ export declare const AnnotationPenTool: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,58 @@
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.AnnotationPenTool = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
12
+ var _item = require("../item/item");
13
+ var _penPanel = require("./pen-panel");
14
+ var _mobxReact = require("mobx-react");
15
+ var _store = require("../../store");
16
+ var _react = require("react");
17
+ var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
18
+ var _i18n = require("agora-ui-foundation/lib/i18n");
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ var AnnotationPenTool = exports.AnnotationPenTool = (0, _mobxReact.observer)(function () {
21
+ var _useContext = (0, _react.useContext)(_store.AnnotationToolbarContext),
22
+ _useContext$observabl = _useContext.observables,
23
+ currentColor = _useContext$observabl.currentColor,
24
+ currentTool = _useContext$observabl.currentTool,
25
+ setTool = _useContext.setTool,
26
+ popoverVisible = _useContext.popoverVisible,
27
+ setPopoverVisible = _useContext.setPopoverVisible;
28
+ var _useState = (0, _react.useState)(false),
29
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
30
+ visible = _useState2[0],
31
+ setVisible = _useState2[1];
32
+ var handleClick = function handleClick() {
33
+ setVisible(!visible);
34
+ setPopoverVisible(!visible);
35
+ setTool(_enums.FcrBoardToolType.CURVE);
36
+ };
37
+ var handleVisibleChange = function handleVisibleChange(visible) {
38
+ setVisible(visible);
39
+ setPopoverVisible(visible);
40
+ };
41
+ (0, _react.useEffect)(function () {
42
+ !popoverVisible && setVisible(false);
43
+ }, [popoverVisible]);
44
+ var t = (0, _i18n.useI18n)();
45
+ var penMap = (0, _defineProperty2["default"])({}, _enums.FcrBoardToolType.CURVE, _type.FcrIconType.FCR_WHITEBOARD_PED5);
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
47
+ active: currentTool in penMap,
48
+ iconType: currentTool in penMap ? penMap[currentTool] : _type.FcrIconType.FCR_WHITEBOARD_PED5,
49
+ title: t('fmt_screenshare_whiteboard_button_paintbrush'),
50
+ lineColor: currentColor,
51
+ visible: visible && popoverVisible,
52
+ onVisibleChange: handleVisibleChange,
53
+ onClick: handleClick,
54
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_penPanel.AnnotationPenPanel, {
55
+ onClick: handleClick
56
+ })
57
+ });
58
+ });
@@ -0,0 +1,3 @@
1
+ export declare const AnnotationPenPanel: (props: {
2
+ onClick: () => void;
3
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,34 @@
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.AnnotationPenPanel = void 0;
8
+ require("core-js/modules/es.array.map.js");
9
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
10
+ var _item = require("../../item/item");
11
+ var _panel = require("../../panel");
12
+ var _mobxReact = require("mobx-react");
13
+ var _react = require("react");
14
+ var _store = require("../../../store");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var AnnotationPenPanel = exports.AnnotationPenPanel = (0, _mobxReact.observer)(function (props) {
17
+ var _useContext = (0, _react.useContext)(_store.AnnotationToolbarContext),
18
+ currentStrokeWidth = _useContext.observables.currentStrokeWidth,
19
+ setStrokeWidth = _useContext.setStrokeWidth;
20
+ var _onClick = props.onClick;
21
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
22
+ header: [2, 4, 5, 6].map(function (width, index) {
23
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
24
+ active: currentStrokeWidth === width,
25
+ iconType: _type.FcrIconType.FCR_PENSIZE_STRAIGHT,
26
+ level: index + 1,
27
+ onClick: function onClick() {
28
+ _onClick();
29
+ setStrokeWidth(width);
30
+ }
31
+ }, width);
32
+ })
33
+ });
34
+ });
@@ -0,0 +1,2 @@
1
+ import './style.css';
2
+ export declare const AnnotationToolbarTips: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
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.AnnotationToolbarTips = void 0;
8
+ var _icon = require("agora-ui-foundation/lib/components/icon");
9
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
10
+ require("./style.css");
11
+ var _i18n = require("agora-ui-foundation/lib/i18n");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ var AnnotationToolbarTips = exports.AnnotationToolbarTips = function AnnotationToolbarTips() {
14
+ var t = (0, _i18n.useI18n)();
15
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
16
+ className: "annotation-toolbar-tips",
17
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
18
+ type: _type.FcrIconType.FCR_SHOWVIDEO,
19
+ size: 24,
20
+ colors: {
21
+ iconPrimary: 'var(--fcr_ui_scene_icontext1)'
22
+ }
23
+ }), t('fmt_screenshare_toast_annotations_visible_participants')]
24
+ });
25
+ };
@@ -0,0 +1,19 @@
1
+ .annotation-toolbar-tips {
2
+ position: absolute;
3
+ left: 50%;
4
+ transform: translateX(-104px);
5
+ /* width: 208px; */
6
+ height: 32px;
7
+ background: var(--fcr_mobile_ui_scene_color_popup_fill2);
8
+ box-shadow: var(--fcr_web_light_dropup);
9
+ border-radius: var(--fcr_cornerradius_m);
10
+ font-size: 12px;
11
+ color: var(--fcr_ui_scene_text1);
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ z-index: 10;
16
+ gap: 4px;
17
+ top: -40px;
18
+ padding: 2px 8px;
19
+ }
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,40 @@
1
+ import { FcrBoardShape, FcrBoardToolType } from 'fcr-core/lib/room-control/whiteboard-control/enums';
2
+ import { FcrUIPrivilegeProvider } from '../../../../providers/privilege-provider';
3
+ export declare class AnnotationToolbarStore {
4
+ private _privilegeProvider;
5
+ private _tipsTimer;
6
+ private _disposer;
7
+ accessor observables: {
8
+ currentTool: FcrBoardToolType;
9
+ currentShape: FcrBoardShape;
10
+ currentColor: string;
11
+ currentStrokeWidth: number;
12
+ redoSteps: boolean;
13
+ undoSteps: boolean;
14
+ lastPen: FcrBoardToolType;
15
+ lastShape: FcrBoardShape;
16
+ colors: string[];
17
+ };
18
+ accessor isTipsVisible: boolean;
19
+ accessor popoverVisible: boolean;
20
+ get hasAnnotationAllowWritePermission(): boolean;
21
+ get allowAnnotationWriteState(): boolean;
22
+ constructor({ privilegeProvider }: {
23
+ privilegeProvider: FcrUIPrivilegeProvider;
24
+ });
25
+ redo(): void;
26
+ undo(): void;
27
+ clean(): void;
28
+ setTool(tool: FcrBoardToolType): void;
29
+ setPen(shape: FcrBoardShape): void;
30
+ setShape(shape: FcrBoardShape): void;
31
+ setStrokeColor(color: string): void;
32
+ setStrokeWidth(strokeWidth: number): void;
33
+ onTooltipMount(dom: HTMLDivElement): void;
34
+ onTooltipUnmount(): void;
35
+ setPopoverVisible(visible: boolean): void;
36
+ captureScreen(): void;
37
+ setAllowAnnotationWrite(allow: boolean): void;
38
+ release(): void;
39
+ }
40
+ export declare const AnnotationToolbarContext: import("react").Context<AnnotationToolbarStore>;