fcr-ui-scene 3.7.2 → 3.7.4-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (301) hide show
  1. package/lib/creator.d.ts +2 -0
  2. package/lib/creator.js +37 -44
  3. package/lib/electron/app.js +7 -0
  4. package/lib/electron/injections.d.ts +1 -1
  5. package/lib/electron/injections.js +5 -3
  6. package/lib/electron/main.js +3 -1
  7. package/lib/fragments/annotation/index.d.ts +1 -0
  8. package/lib/fragments/annotation/index.js +13 -7
  9. package/lib/fragments/annotation/libs.d.ts +7 -6
  10. package/lib/fragments/annotation/libs.js +9 -8
  11. package/lib/fragments/annotation/store.d.ts +8 -4
  12. package/lib/fragments/annotation/store.js +351 -267
  13. package/lib/fragments/annotation/toolbar/components/color-tool/index.js +4 -0
  14. package/lib/fragments/annotation/toolbar/components/graphic-tool/index.js +4 -0
  15. package/lib/fragments/annotation/toolbar/components/item/item.d.ts +2 -0
  16. package/lib/fragments/annotation/toolbar/components/item/item.js +2 -4
  17. package/lib/fragments/annotation/toolbar/components/item/style.css +4 -2
  18. package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +4 -0
  19. package/lib/fragments/annotation/utils.d.ts +1 -0
  20. package/lib/fragments/annotation/utils.js +27 -0
  21. package/lib/fragments/annotation/view.js +1 -6
  22. package/lib/fragments/base.js +5 -3
  23. package/lib/fragments/whiteboard/cursor.css +77 -0
  24. package/lib/fragments/whiteboard/index.d.ts +11 -0
  25. package/lib/fragments/whiteboard/index.js +91 -0
  26. package/lib/fragments/whiteboard/store.d.ts +31 -0
  27. package/lib/fragments/whiteboard/store.js +480 -0
  28. package/lib/fragments/whiteboard/style.css +4 -0
  29. package/lib/fragments/whiteboard/view.d.ts +4 -0
  30. package/lib/fragments/whiteboard/view.js +31 -0
  31. package/lib/global.css +6 -0
  32. package/lib/index.d.ts +1 -0
  33. package/lib/index.js +1 -0
  34. package/lib/modules/action-bar/components/apps/index.js +15 -5
  35. package/lib/modules/action-bar/components/leave/index.js +4 -11
  36. package/lib/modules/action-bar/components/screen-share/submenu.js +2 -2
  37. package/lib/modules/action-bar/index.d.ts +2 -0
  38. package/lib/modules/action-bar/index.js +2 -1
  39. package/lib/modules/action-bar/store.d.ts +6 -2
  40. package/lib/modules/action-bar/store.js +56 -93
  41. package/lib/modules/action-bar/view.d.ts +1 -0
  42. package/lib/modules/action-bar/view.js +3 -2
  43. package/lib/modules/annotation/annotation-toolbar-store.d.ts +4 -11
  44. package/lib/modules/annotation/annotation-toolbar-store.js +48 -90
  45. package/lib/modules/annotation/index.d.ts +2 -0
  46. package/lib/modules/annotation/index.js +2 -2
  47. package/lib/modules/annotation/store.d.ts +11 -49
  48. package/lib/modules/annotation/store.js +144 -429
  49. package/lib/modules/annotation/view.js +3 -6
  50. package/lib/modules/audio-stream/index.js +1 -2
  51. package/lib/modules/chat/components/chat-select/index.js +3 -0
  52. package/lib/modules/components/control-bar/components/loading/index.css +76 -0
  53. package/lib/modules/components/control-bar/components/loading/index.d.ts +8 -0
  54. package/lib/modules/components/control-bar/components/loading/index.js +64 -0
  55. package/lib/modules/components/control-bar/components/loading/loading.png +0 -0
  56. package/lib/modules/components/control-bar/components/progress/index.d.ts +5 -0
  57. package/lib/modules/components/control-bar/components/progress/index.js +43 -0
  58. package/lib/modules/components/control-bar/components/progress/style.css +51 -0
  59. package/lib/modules/components/control-bar/components/switch-theme/index.css +99 -0
  60. package/lib/modules/components/control-bar/components/switch-theme/index.d.ts +9 -0
  61. package/lib/modules/components/control-bar/components/switch-theme/index.js +94 -0
  62. package/lib/modules/components/control-bar/components/switch-theme/item.d.ts +9 -0
  63. package/lib/modules/components/control-bar/components/switch-theme/item.js +54 -0
  64. package/lib/modules/components/control-bar/components/switch-theme/libs.d.ts +4 -0
  65. package/lib/modules/components/control-bar/components/switch-theme/libs.js +31 -0
  66. package/lib/modules/components/control-bar/index.css +87 -0
  67. package/lib/modules/components/control-bar/index.d.ts +20 -0
  68. package/lib/modules/components/control-bar/index.js +276 -0
  69. package/lib/modules/components/device-control/store.js +2 -2
  70. package/lib/modules/components/leave-meeting/components/index.css +0 -9
  71. package/lib/modules/components/leave-meeting/index.d.ts +2 -1
  72. package/lib/modules/components/leave-meeting/index.js +19 -8
  73. package/lib/modules/components/leave-meeting/portal.d.ts +6 -0
  74. package/lib/modules/components/leave-meeting/portal.js +29 -0
  75. package/lib/modules/components/leave-meeting/style.css +9 -0
  76. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +5 -2
  77. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +19 -9
  78. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +4 -4
  79. package/lib/modules/components/member-window/components/member-actions/index.js +13 -6
  80. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
  81. package/lib/modules/components/member-window/components/member-actions/provider.js +4 -3
  82. package/lib/modules/components/member-window/components/member-actions/store.d.ts +2 -1
  83. package/lib/modules/components/member-window/components/member-actions/store.js +5 -1
  84. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.d.ts +6 -4
  85. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +77 -41
  86. package/lib/modules/components/member-window/components/video-player/components/remote-video-player-with-zoom.d.ts +3 -3
  87. package/lib/modules/components/member-window/components/video-player/index.d.ts +3 -3
  88. package/lib/modules/components/member-window/index.css +4 -0
  89. package/lib/modules/components/member-window/types.d.ts +9 -5
  90. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +9 -0
  91. package/lib/modules/components/toolbar/components/capture-tool/index.js +68 -0
  92. package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +11 -0
  93. package/lib/modules/components/toolbar/components/clean-tool/index.js +71 -0
  94. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.d.ts +11 -0
  95. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.js +77 -0
  96. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +14 -0
  97. package/lib/modules/components/toolbar/components/color-tool/index.js +66 -0
  98. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +11 -0
  99. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +64 -0
  100. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  101. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  102. package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +15 -0
  103. package/lib/modules/components/toolbar/components/graphic-tool/index.js +82 -0
  104. package/lib/modules/components/toolbar/components/group-tool/index.d.ts +5 -0
  105. package/lib/modules/components/toolbar/components/group-tool/index.js +43 -0
  106. package/lib/modules/components/toolbar/components/icons/fold-icon.d.ts +2 -0
  107. package/lib/modules/components/toolbar/components/icons/fold-icon.js +41 -0
  108. package/lib/modules/components/toolbar/components/icons/move-icon.d.ts +1 -0
  109. package/lib/modules/components/toolbar/components/icons/move-icon.js +66 -0
  110. package/lib/modules/components/toolbar/components/item/index.d.ts +25 -0
  111. package/lib/modules/components/toolbar/components/item/index.js +165 -0
  112. package/lib/modules/components/toolbar/components/item/style.css +94 -0
  113. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +12 -0
  114. package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +75 -0
  115. package/lib/modules/components/toolbar/components/panel/index.d.ts +9 -0
  116. package/lib/modules/components/toolbar/components/panel/index.js +28 -0
  117. package/lib/modules/components/toolbar/components/panel/style.css +86 -0
  118. package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +13 -0
  119. package/lib/modules/components/toolbar/components/pen-tool/index.js +62 -0
  120. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.d.ts +8 -0
  121. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.js +39 -0
  122. package/lib/modules/components/toolbar/components/save-draft/index.d.ts +7 -0
  123. package/lib/modules/components/toolbar/components/save-draft/index.js +59 -0
  124. package/lib/modules/components/toolbar/components/vertical-frame/index.d.ts +8 -0
  125. package/lib/modules/components/toolbar/components/vertical-frame/index.js +179 -0
  126. package/lib/modules/components/toolbar/hooks/use-resize-visible.d.ts +4 -0
  127. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +59 -0
  128. package/lib/modules/components/toolbar/index.d.ts +29 -0
  129. package/lib/modules/components/toolbar/index.js +258 -0
  130. package/lib/modules/components/toolbar/style.css +85 -0
  131. package/lib/modules/components/toolbar/types.d.ts +13 -0
  132. package/lib/modules/components/toolbar/types.js +6 -0
  133. package/lib/modules/control-bar/components/more-actions/index.js +0 -6
  134. package/lib/modules/control-bar/components/share-state-nav/index.js +3 -2
  135. package/lib/modules/control-bar/index.js +2 -1
  136. package/lib/modules/control-bar/store.d.ts +15 -12
  137. package/lib/modules/control-bar/store.js +68 -29
  138. package/lib/modules/control-bar/view.js +33 -67
  139. package/lib/modules/device-pretest/store.js +4 -2
  140. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -24
  141. package/lib/modules/dialog/components/dialog-container/index.d.ts +4 -0
  142. package/lib/modules/dialog/components/dialog-container/index.js +67 -44
  143. package/lib/modules/dialog/components/normal-window/index.js +4 -0
  144. package/lib/modules/dialog/dialogs/control-bar/index.d.ts +1 -0
  145. package/lib/modules/dialog/dialogs/control-bar/index.js +26 -35
  146. package/lib/modules/dialog/dialogs/participant/components/title.js +1 -1
  147. package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -0
  148. package/lib/modules/dialog/dialogs/sub-window/index.js +102 -0
  149. package/lib/modules/dialog/dialogs/video-window/index.d.ts +1 -0
  150. package/lib/modules/dialog/dialogs/video-window/index.js +31 -25
  151. package/lib/modules/dialog/dialogs/whiteboard/index.js +0 -1
  152. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -2
  153. package/lib/modules/dialog/hooks/useElectron.d.ts +13 -0
  154. package/lib/modules/dialog/hooks/useElectron.js +66 -13
  155. package/lib/modules/dialog/index.d.ts +6 -3
  156. package/lib/modules/dialog/index.js +5 -3
  157. package/lib/modules/dialog/level-config.js +1 -1
  158. package/lib/modules/dialog/store.d.ts +23 -9
  159. package/lib/modules/dialog/store.js +84 -12
  160. package/lib/modules/dialog/type.d.ts +8 -0
  161. package/lib/modules/event-confirm/components/window/index.d.ts +5 -2
  162. package/lib/modules/event-confirm/components/window/index.js +38 -14
  163. package/lib/modules/event-confirm/index.css +3 -2
  164. package/lib/modules/event-confirm/store.d.ts +10 -5
  165. package/lib/modules/event-confirm/store.js +68 -20
  166. package/lib/modules/event-confirm/view.js +10 -8
  167. package/lib/modules/event-sound/index.d.ts +1 -0
  168. package/lib/modules/event-sound/index.js +11 -24
  169. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +1 -2
  170. package/lib/modules/interpreter/store.js +11 -13
  171. package/lib/modules/invite/components/pstn-invite.js +0 -1
  172. package/lib/modules/layout/components/CommonVideoRenderer.js +26 -26
  173. package/lib/modules/layout/components/who-is-speaking.js +3 -6
  174. package/lib/modules/layout/index.d.ts +3 -1
  175. package/lib/modules/layout/index.js +2 -1
  176. package/lib/modules/layout/store.d.ts +7 -59
  177. package/lib/modules/layout/store.js +133 -45
  178. package/lib/modules/layout/type.d.ts +55 -0
  179. package/lib/modules/participant/components/can-moveable/index.js +0 -1
  180. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +4 -2
  181. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +14 -2
  182. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +1 -1
  183. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +3 -2
  184. package/lib/modules/participant/components/participants/components/participants/index.js +3 -2
  185. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +1 -0
  186. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +3 -1
  187. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +4 -2
  188. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +4 -2
  189. package/lib/modules/participant/components/participants/components/render-user/index.js +5 -3
  190. package/lib/modules/participant/components/participants/index.js +5 -2
  191. package/lib/modules/participant/components/participants/types.d.ts +3 -0
  192. package/lib/modules/participant/index.d.ts +2 -0
  193. package/lib/modules/participant/index.js +2 -1
  194. package/lib/modules/participant/member-list-data-source.js +3 -5
  195. package/lib/modules/participant/store.d.ts +5 -1
  196. package/lib/modules/participant/store.js +51 -44
  197. package/lib/modules/secondary-window/index.d.ts +50 -0
  198. package/lib/modules/secondary-window/index.js +113 -0
  199. package/lib/modules/secondary-window/store.d.ts +76 -0
  200. package/lib/modules/secondary-window/store.js +407 -0
  201. package/lib/modules/secondary-window/type.d.ts +110 -0
  202. package/lib/modules/secondary-window/type.js +35 -0
  203. package/lib/modules/secondary-window/view.d.ts +6 -0
  204. package/lib/modules/secondary-window/view.js +257 -0
  205. package/lib/modules/setting/audio-settings/audio-settings.js +4 -2
  206. package/lib/modules/setting/config.d.ts +4 -0
  207. package/lib/modules/setting/config.js +6 -3
  208. package/lib/modules/setting/general-settings/general-settings.js +9 -0
  209. package/lib/modules/setting/state/index.js +0 -10
  210. package/lib/modules/setting/store.d.ts +9 -3
  211. package/lib/modules/setting/store.js +110 -77
  212. package/lib/modules/setting/view.js +3 -2
  213. package/lib/modules/share-screen/components/control-bar/index.d.ts +14 -1
  214. package/lib/modules/share-screen/components/control-bar/index.js +17 -12
  215. package/lib/modules/share-screen/components/selection/index.js +16 -23
  216. package/lib/modules/share-screen/index.d.ts +4 -1
  217. package/lib/modules/share-screen/index.js +6 -3
  218. package/lib/modules/share-screen/store.d.ts +18 -19
  219. package/lib/modules/share-screen/store.js +101 -151
  220. package/lib/modules/share-screen/types.d.ts +7 -8
  221. package/lib/modules/state-bar/index.d.ts +2 -0
  222. package/lib/modules/state-bar/index.js +2 -1
  223. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  224. package/lib/modules/state-bar/store.d.ts +5 -2
  225. package/lib/modules/state-bar/store.js +14 -7
  226. package/lib/modules/state-bar/view.js +3 -3
  227. package/lib/modules/video-window/components/members/index.js +10 -15
  228. package/lib/modules/video-window/store.d.ts +1 -0
  229. package/lib/modules/video-window/store.js +8 -3
  230. package/lib/modules/whiteboard/components/control-bar/store.d.ts +3 -0
  231. package/lib/modules/whiteboard/components/control-bar/store.js +20 -11
  232. package/lib/modules/whiteboard/components/toolbar/store.d.ts +2 -2
  233. package/lib/modules/whiteboard/components/toolbar/store.js +2 -2
  234. package/lib/modules/whiteboard/index.d.ts +20 -17
  235. package/lib/modules/whiteboard/index.js +167 -132
  236. package/lib/plugins/module-dev-plugin.js +4 -0
  237. package/lib/providers/ability-provider.js +2 -0
  238. package/lib/providers/annotation-provider.js +3 -3
  239. package/lib/providers/device-privilege-provider.js +13 -12
  240. package/lib/providers/device-provider.d.ts +40 -31
  241. package/lib/providers/device-provider.js +657 -713
  242. package/lib/providers/device-stream-provider.js +4 -4
  243. package/lib/providers/interpreter-provider.js +7 -9
  244. package/lib/providers/multi-display-provider.d.ts +90 -0
  245. package/lib/providers/multi-display-provider.js +593 -0
  246. package/lib/providers/privilege-provider.d.ts +3 -11
  247. package/lib/providers/privilege-provider.js +3 -12
  248. package/lib/providers/renderer-provider.d.ts +3 -3
  249. package/lib/providers/renderer-provider.js +20 -32
  250. package/lib/providers/room-provider.js +21 -16
  251. package/lib/providers/screen-share-provider.d.ts +15 -11
  252. package/lib/providers/screen-share-provider.js +118 -99
  253. package/lib/providers/sharing-provider.d.ts +7 -1
  254. package/lib/providers/sharing-provider.js +39 -3
  255. package/lib/providers/whiteboard-provider.d.ts +24 -0
  256. package/lib/providers/whiteboard-provider.js +128 -0
  257. package/lib/runtime.d.ts +1 -0
  258. package/lib/scenes/main-scene.d.ts +6 -0
  259. package/lib/scenes/main-scene.js +44 -2
  260. package/lib/scenes/waiting-scene.d.ts +0 -2
  261. package/lib/scenes/waiting-scene.js +0 -6
  262. package/lib/schema.d.ts +3 -3
  263. package/lib/schema.js +1 -1
  264. package/lib/shared-data-source/confirm-data.d.ts +19 -0
  265. package/lib/shared-data-source/confirm-data.js +119 -15
  266. package/lib/shared-data-source/member-data.d.ts +2 -2
  267. package/lib/shared-data-source/screen-share-data.d.ts +35 -28
  268. package/lib/shared-data-source/screen-share-data.js +19 -8
  269. package/lib/shared-data-source/setting.js +4 -3
  270. package/lib/shared-data-source/video-window.js +1 -2
  271. package/lib/shared-data-source/whiteboard-data.d.ts +70 -0
  272. package/lib/shared-data-source/whiteboard-data.js +348 -0
  273. package/lib/translations/enUS.d.ts +1 -0
  274. package/lib/translations/enUS.js +2 -1
  275. package/lib/translations/zhCN.d.ts +1 -0
  276. package/lib/translations/zhCN.js +2 -1
  277. package/lib/ui-scene.d.ts +1 -0
  278. package/lib/ui-scene.js +77 -24
  279. package/lib/utilities/constant.d.ts +9 -2
  280. package/lib/utilities/constant.js +10 -3
  281. package/lib/utilities/debug.d.ts +4 -0
  282. package/lib/utilities/debug.js +40 -0
  283. package/lib/utilities/default-config.d.ts +4 -0
  284. package/lib/utilities/default-config.js +8 -4
  285. package/lib/utilities/dialog-utils.d.ts +3 -2
  286. package/lib/utilities/dialog-utils.js +56 -15
  287. package/lib/utilities/meeting-detail.js +4 -1
  288. package/lib/utilities/package-info.d.ts +3 -0
  289. package/lib/utilities/package-info.js +15 -0
  290. package/lib/utilities/renderer-event.d.ts +4 -6
  291. package/lib/utilities/renderer-event.js +23 -43
  292. package/lib/utilities/renderer.d.ts +1 -1
  293. package/lib/utilities/renderer.js +44 -10
  294. package/lib/utilities/shared-storage.d.ts +18 -0
  295. package/lib/utilities/shared-storage.js +63 -0
  296. package/lib/utilities/tools.js +2 -1
  297. package/lib/waiting-room-control-manager.js +6 -6
  298. package/package.json +6 -7
  299. package/public/index.html +5 -0
  300. package/lib/electron/tools.d.ts +0 -5
  301. package/lib/electron/tools.js +0 -62
@@ -26,8 +26,6 @@ var MemberWindowActions = exports.MemberWindowActions = function MemberWindowAct
26
26
  allowedOperations = _ref.allowedOperations,
27
27
  setVideoOrientation = _ref.setVideoOrientation,
28
28
  showActionBottomLabel = _ref.showActionBottomLabel,
29
- isShowActionAudio = _ref.isShowActionAudio,
30
- actionAudioTag = _ref.actionAudioTag,
31
29
  onVisibleChanged = _ref.onVisibleChanged,
32
30
  videoWindowCurrentWidth = _ref.videoWindowCurrentWidth,
33
31
  videoWindowCurrentHeight = _ref.videoWindowCurrentHeight,
@@ -39,7 +37,13 @@ var MemberWindowActions = exports.MemberWindowActions = function MemberWindowAct
39
37
  handleRename = _ref.handleRename,
40
38
  renderListLength = _ref.renderListLength,
41
39
  id = _ref.id,
42
- volume = _ref.volume;
40
+ volume = _ref.volume,
41
+ _ref$isLocalCameraInS = _ref.isLocalCameraInSecondaryWindow,
42
+ isLocalCameraInSecondaryWindow = _ref$isLocalCameraInS === void 0 ? false : _ref$isLocalCameraInS,
43
+ deviceMicrophoneEnabled = _ref.deviceMicrophoneEnabled,
44
+ hasMutePermission = _ref.hasMutePermission,
45
+ hasUnmutePermission = _ref.hasUnmutePermission,
46
+ hasRequestStartAudioPermission = _ref.hasRequestStartAudioPermission;
43
47
  var audioStreamConnectorType = windowData.audioStreamConnectorType,
44
48
  videoStreamConnectorType = windowData.videoStreamConnectorType,
45
49
  hasMicrophoneAudioStream = windowData.hasMicrophoneAudioStream,
@@ -58,6 +62,7 @@ var MemberWindowActions = exports.MemberWindowActions = function MemberWindowAct
58
62
  videoWindowCurrentHeight: videoWindowCurrentHeight,
59
63
  videoWindowPreviewType: videoWindowPreviewType,
60
64
  renderListLength: renderListLength,
65
+ deviceMicrophoneEnabled: deviceMicrophoneEnabled,
61
66
  children: function children(store) {
62
67
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.MemberActionsLayout, {
63
68
  onContextMenu: function onContextMenu() {
@@ -71,11 +76,13 @@ var MemberWindowActions = exports.MemberWindowActions = function MemberWindowAct
71
76
  windowSize: windowSize
72
77
  }),
73
78
  topSlot: !store.isSharingWindow && /*#__PURE__*/(0, _jsxRuntime.jsx)(_moreActions.MoreActions, {
74
- isShowActionAudio: isShowActionAudio,
75
- actionAudioTag: actionAudioTag,
76
79
  hasPinnedStream: hasPinnedStream,
77
80
  allowedOperations: allowedOperations,
78
- hideAudioConnectIcon: false
81
+ hideAudioConnectIcon: false,
82
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow,
83
+ hasMutePermission: hasMutePermission,
84
+ hasUnmutePermission: hasUnmutePermission,
85
+ hasRequestStartAudioPermission: hasRequestStartAudioPermission
79
86
  }),
80
87
  bottomSlot: /*#__PURE__*/(0, _jsxRuntime.jsx)(_userInfo.UserInfo, {
81
88
  iconSize: iconSize,
@@ -16,6 +16,7 @@ export interface MemberWindowActionsProviderProps {
16
16
  videoWindowPreviewType?: FcrVideoWindowPreviewType;
17
17
  renderListLength?: number;
18
18
  children: React.ReactNode | ((store: MemberWindowActionsStore) => React.ReactNode);
19
+ deviceMicrophoneEnabled: boolean;
19
20
  }
20
21
  export declare const MemberWindowActionsProvider: FC<MemberWindowActionsProviderProps>;
21
22
  export declare const useMemberWindowActionsStore: () => MemberWindowActionsStore;
@@ -33,15 +33,16 @@ var MemberWindowActionsProvider = exports.MemberWindowActionsProvider = function
33
33
  handleRename = _ref.handleRename,
34
34
  onVisibleChanged = _ref.onVisibleChanged,
35
35
  interpreterUserList = _ref.interpreterUserList,
36
- isInterpreterEnabled = _ref.isInterpreterEnabled;
36
+ isInterpreterEnabled = _ref.isInterpreterEnabled,
37
+ deviceMicrophoneEnabled = _ref.deviceMicrophoneEnabled;
37
38
  var focus = (0, _hooks.useWindowFocus)();
38
39
  var _useState = (0, _react.useState)(false),
39
40
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
40
41
  isOnlyShowVideoStream = _useState2[0],
41
42
  setIsOnlyShowVideoStream = _useState2[1];
42
43
  var store = (0, _react.useMemo)(function () {
43
- return new _store.MemberWindowActionsStore(windowData, sendParticipantEvent, muteAudio, handleRename, onVisibleChanged, interpreterUserList, isInterpreterEnabled);
44
- }, [windowData, sendParticipantEvent, muteAudio, handleRename, onVisibleChanged, interpreterUserList, isInterpreterEnabled]);
44
+ return new _store.MemberWindowActionsStore(windowData, sendParticipantEvent, muteAudio, handleRename, deviceMicrophoneEnabled, onVisibleChanged, interpreterUserList, isInterpreterEnabled);
45
+ }, [windowData, sendParticipantEvent, muteAudio, handleRename, deviceMicrophoneEnabled, onVisibleChanged, interpreterUserList, isInterpreterEnabled]);
45
46
  (0, _react.useEffect)(function () {
46
47
  store.setOnlyShowVideoStream(isOnlyShowVideoStream);
47
48
  }, [store, isOnlyShowVideoStream]);
@@ -6,6 +6,7 @@ export declare class MemberWindowActionsStore {
6
6
  private _sendParticipantEvent;
7
7
  private _muteAudio;
8
8
  private _handleRename;
9
+ private _deviceMicrophoneEnabled;
9
10
  private _onVisibleChanged?;
10
11
  private _interpreterUsers?;
11
12
  private _interpreterState?;
@@ -13,7 +14,7 @@ export declare class MemberWindowActionsStore {
13
14
  accessor isShowDropMenu: boolean;
14
15
  accessor timerRef: NodeJS.Timeout | undefined;
15
16
  accessor interpreterUser: FcrInterpreterUserInfo | null;
16
- constructor(_windowData: FcrUIVideoWindowData, _sendParticipantEvent: (event: any) => void, _muteAudio: (mute: boolean, userId: string) => void, _handleRename: (userId: string) => void, _onVisibleChanged?: ((visible: boolean) => void) | undefined, _interpreterUsers?: FcrInterpreterUserInfo[] | null | undefined, _interpreterState?: boolean | undefined);
17
+ constructor(_windowData: FcrUIVideoWindowData, _sendParticipantEvent: (event: any) => void, _muteAudio: (mute: boolean, userId: string) => void, _handleRename: (userId: string) => void, _deviceMicrophoneEnabled: boolean, _onVisibleChanged?: ((visible: boolean) => void) | undefined, _interpreterUsers?: FcrInterpreterUserInfo[] | null | undefined, _interpreterState?: boolean | undefined);
17
18
  get windowData(): FcrUIVideoWindowData;
18
19
  get userId(): string;
19
20
  get userName(): string;
@@ -96,7 +96,7 @@ var _C = /*#__PURE__*/new WeakMap();
96
96
  var _D = /*#__PURE__*/new WeakMap();
97
97
  _ref = (_setOnlyShowVideoStreamDecs = [_mobx.action, _mobx.action.bound], _setIsShowDropMenuDecs = [_mobx.action, _mobx.action.bound], _onVisibleChangeDecs = [_mobx.action, _mobx.action.bound], "isOnlyShowVideoStream");
98
98
  var MemberWindowActionsStore = exports.MemberWindowActionsStore = /*#__PURE__*/function () {
99
- function MemberWindowActionsStore(_windowData, _sendParticipantEvent, _muteAudio, _handleRename, _onVisibleChanged, _interpreterUsers, _interpreterState) {
99
+ function MemberWindowActionsStore(_windowData, _sendParticipantEvent, _muteAudio, _handleRename, _deviceMicrophoneEnabled, _onVisibleChanged, _interpreterUsers, _interpreterState) {
100
100
  (0, _classCallCheck2["default"])(this, MemberWindowActionsStore);
101
101
  _classPrivateFieldInitSpec(this, _A, (_initProto(this), _init_isOnlyShowVideoStream(this, false)));
102
102
  _classPrivateFieldInitSpec(this, _B, _init_isShowDropMenu(this, false));
@@ -106,6 +106,7 @@ var MemberWindowActionsStore = exports.MemberWindowActionsStore = /*#__PURE__*/f
106
106
  this._sendParticipantEvent = _sendParticipantEvent;
107
107
  this._muteAudio = _muteAudio;
108
108
  this._handleRename = _handleRename;
109
+ this._deviceMicrophoneEnabled = _deviceMicrophoneEnabled;
109
110
  this._onVisibleChanged = _onVisibleChanged;
110
111
  this._interpreterUsers = _interpreterUsers;
111
112
  this._interpreterState = _interpreterState;
@@ -235,6 +236,9 @@ var MemberWindowActionsStore = exports.MemberWindowActionsStore = /*#__PURE__*/f
235
236
  key: "hasMicrophoneAudioStream",
236
237
  get: function get() {
237
238
  var _this$_windowData0;
239
+ if (this.isMySelf && this.connectorType === _fcrCore.FcrRoomConnectorType.NONE) {
240
+ return this._deviceMicrophoneEnabled;
241
+ }
238
242
  return (_this$_windowData0 = this._windowData) === null || _this$_windowData0 === void 0 ? void 0 : _this$_windowData0.hasMicrophoneAudioStream;
239
243
  }
240
244
  }, {
@@ -1,7 +1,7 @@
1
- import { AgoraRtcRenderMode } from 'fcr-core/lib/imports';
1
+ import { FcrVideoRenderMode } from 'fcr-core/lib/type';
2
2
  import { FcrVideoSourceType } from 'fcr-core';
3
- export declare const FcrUILocalVideoPlayerWithZoom: (props: {
4
- renderMode: AgoraRtcRenderMode;
3
+ type FcrUILocalVideoPlayerProps = {
4
+ renderMode: FcrVideoRenderMode;
5
5
  hasScreenSharing: boolean;
6
6
  videoSourceType: FcrVideoSourceType;
7
7
  scalcValue: number;
@@ -9,4 +9,6 @@ export declare const FcrUILocalVideoPlayerWithZoom: (props: {
9
9
  minScale?: number;
10
10
  maxScale?: number;
11
11
  onScaleChange?: (scale: number) => void;
12
- }) => import("react/jsx-runtime").JSX.Element;
12
+ };
13
+ export declare const FcrUILocalVideoPlayerWithZoom: React.FC<FcrUILocalVideoPlayerProps>;
14
+ export {};
@@ -11,58 +11,91 @@ var _videoTrackRenderContext = require("../../../../../../utilities/video-track-
11
11
  var _fcrCore = require("fcr-core");
12
12
  var _zoomableContainer = require("./zoomable-container");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
- var FcrUILocalVideoPlayerWithZoom = exports.FcrUILocalVideoPlayerWithZoom = (0, _mobxReact.observer)(function (props) {
15
- var renderMode = props.renderMode,
16
- hasScreenSharing = props.hasScreenSharing,
17
- videoSourceType = props.videoSourceType,
18
- scalcValue = props.scalcValue,
19
- _props$enableZoom = props.enableZoom,
20
- enableZoom = _props$enableZoom === void 0 ? true : _props$enableZoom,
21
- _props$minScale = props.minScale,
22
- minScale = _props$minScale === void 0 ? 1 : _props$minScale,
23
- _props$maxScale = props.maxScale,
24
- maxScale = _props$maxScale === void 0 ? 4 : _props$maxScale,
25
- onScaleChange = props.onScaleChange;
26
-
27
- // const renderScalcVal = hasScreenSharing ? scalcValue : 1;
14
+ var FcrUILocalCameraVideoPlayer = (0, _mobxReact.observer)(function (props) {
15
+ var renderMode = props.renderMode;
28
16
  var divRef = (0, _react.useRef)(null);
17
+ var isPreviewingRef = (0, _react.useRef)(false);
29
18
  var context = (0, _react.useContext)(_videoTrackRenderContext.FcrVideoTrackRenderContext);
30
- var _ref = context.localVideoRenderProvider || {},
31
- cameraEnabled = _ref.cameraEnabled,
32
- cameraId = _ref.cameraId,
33
- startCameraPreview = _ref.startCameraPreview,
34
- stopCameraPreview = _ref.stopCameraPreview,
35
- startScreenPreview = _ref.startScreenPreview,
36
- stopScreenPreview = _ref.stopScreenPreview,
37
- currentMirror = _ref.currentMirror;
19
+ var _context$localVideoRe = context.localVideoRenderProvider,
20
+ cameraEnabled = _context$localVideoRe.cameraEnabled,
21
+ cameraId = _context$localVideoRe.cameraId,
22
+ startCameraPreview = _context$localVideoRe.startCameraPreview,
23
+ stopCameraPreview = _context$localVideoRe.stopCameraPreview,
24
+ currentMirror = _context$localVideoRe.currentMirror;
38
25
  (0, _react.useEffect)(function () {
39
26
  var dom = divRef.current;
40
- if (dom) {
41
- if (hasScreenSharing && videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN) {
42
- startScreenPreview(dom, {
43
- renderMode: renderMode
44
- });
45
- } else if (cameraEnabled) {
46
- startCameraPreview === null || startCameraPreview === void 0 || startCameraPreview(dom, {
47
- renderMode: renderMode,
48
- isMirror: currentMirror
49
- });
27
+ if (dom && cameraEnabled) {
28
+ isPreviewingRef.current = true;
29
+ startCameraPreview(dom, {
30
+ renderMode: renderMode,
31
+ isMirror: currentMirror
32
+ });
33
+ }
34
+ return function () {
35
+ // 开启摄像头时 cameraEnabled 变为 true 后,会先触发一遍 useEffect cleanup
36
+ // 所以需要加一个 isPreviewing 的状态,来避免开启摄像头时先调用一遍 stopCameraPreview
37
+ if (dom && isPreviewingRef.current) {
38
+ isPreviewingRef.current = false;
39
+ stopCameraPreview(dom);
50
40
  }
41
+ };
42
+ }, [cameraEnabled, cameraId, currentMirror]);
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
44
+ className: "fcr-member-window-body fcr-member-window-body-video",
45
+ ref: divRef
46
+ });
47
+ });
48
+ var FcrUILocalScreenVideoPlayer = function FcrUILocalScreenVideoPlayer(props) {
49
+ var renderMode = props.renderMode;
50
+ var divRef = (0, _react.useRef)(null);
51
+ var context = (0, _react.useContext)(_videoTrackRenderContext.FcrVideoTrackRenderContext);
52
+ var _context$localVideoRe2 = context.localVideoRenderProvider,
53
+ startScreenPreview = _context$localVideoRe2.startScreenPreview,
54
+ stopScreenPreview = _context$localVideoRe2.stopScreenPreview;
55
+ (0, _react.useEffect)(function () {
56
+ var dom = divRef.current;
57
+ if (dom) {
58
+ startScreenPreview(dom, {
59
+ renderMode: renderMode
60
+ });
51
61
  }
52
62
  return function () {
53
63
  if (dom) {
54
- stopScreenPreview === null || stopScreenPreview === void 0 || stopScreenPreview(dom);
55
- stopCameraPreview === null || stopCameraPreview === void 0 || stopCameraPreview(dom);
64
+ stopScreenPreview(dom);
56
65
  }
57
66
  };
58
- }, [cameraEnabled, cameraId, startCameraPreview, stopCameraPreview, currentMirror, enableZoom]);
59
- var videoContent = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
60
- className: "fcr-member-window-body",
67
+ }, []);
68
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
69
+ className: "fcr-member-window-body fcr-member-window-body-screen",
61
70
  ref: divRef
62
- // style={{ transform: `scale(${renderScalcVal})` }}
63
71
  });
72
+ };
73
+ var FcrUILocalVideoPlayer = function FcrUILocalVideoPlayer(props) {
74
+ var videoSourceType = props.videoSourceType,
75
+ renderMode = props.renderMode;
76
+ return videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN ? /*#__PURE__*/(0, _jsxRuntime.jsx)(FcrUILocalScreenVideoPlayer, {
77
+ renderMode: renderMode
78
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(FcrUILocalCameraVideoPlayer, {
79
+ renderMode: renderMode
80
+ });
81
+ };
82
+ var FcrUILocalVideoPlayerWithZoom = exports.FcrUILocalVideoPlayerWithZoom = function FcrUILocalVideoPlayerWithZoom(props) {
83
+ var renderMode = props.renderMode,
84
+ hasScreenSharing = props.hasScreenSharing,
85
+ videoSourceType = props.videoSourceType,
86
+ scalcValue = props.scalcValue,
87
+ _props$enableZoom = props.enableZoom,
88
+ enableZoom = _props$enableZoom === void 0 ? true : _props$enableZoom,
89
+ _props$minScale = props.minScale,
90
+ minScale = _props$minScale === void 0 ? 1 : _props$minScale,
91
+ _props$maxScale = props.maxScale,
92
+ maxScale = _props$maxScale === void 0 ? 4 : _props$maxScale,
93
+ onScaleChange = props.onScaleChange;
64
94
  if (!enableZoom) {
65
- return videoContent;
95
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(FcrUILocalVideoPlayer, {
96
+ videoSourceType: videoSourceType,
97
+ renderMode: renderMode
98
+ });
66
99
  }
67
100
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_zoomableContainer.ZoomableContainer, {
68
101
  className: "fcr-local-video-zoomable-container",
@@ -70,6 +103,9 @@ var FcrUILocalVideoPlayerWithZoom = exports.FcrUILocalVideoPlayerWithZoom = (0,
70
103
  maxScale: maxScale,
71
104
  initialScale: scalcValue,
72
105
  onScaleChange: onScaleChange,
73
- children: videoContent
106
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(FcrUILocalVideoPlayer, {
107
+ videoSourceType: videoSourceType,
108
+ renderMode: renderMode
109
+ })
74
110
  });
75
- });
111
+ };
@@ -1,9 +1,9 @@
1
- import { AgoraRtcRenderMode, AgoraRtcVideoStreamType } from 'fcr-core/lib/imports';
1
+ import { FcrVideoRenderMode, FcrVideoStreamType } from 'fcr-core/lib/type';
2
2
  export declare const FcrUIRemoteVideoPlayerWithZoom: ({ streamId, hasVideoStream, videoStreamType, renderMode, scalcValue, enableZoom, minScale, maxScale, onScaleChange, }: {
3
3
  streamId: string;
4
4
  hasVideoStream: boolean;
5
- videoStreamType: AgoraRtcVideoStreamType;
6
- renderMode: AgoraRtcRenderMode;
5
+ videoStreamType: FcrVideoStreamType;
6
+ renderMode: FcrVideoRenderMode;
7
7
  scalcValue: number;
8
8
  enableZoom: boolean;
9
9
  minScale?: number;
@@ -1,12 +1,12 @@
1
- import { AgoraRtcRenderMode, AgoraRtcVideoStreamType } from 'fcr-core/lib/imports';
1
+ import { FcrVideoRenderMode, FcrVideoStreamType } from 'fcr-core/lib/type';
2
2
  import { FcrVideoSourceType } from 'fcr-core';
3
3
  export declare const FcrUIVideoPlayer: (props: {
4
4
  isLocal: boolean;
5
5
  streamId: string;
6
6
  hasVideoStream: boolean;
7
- videoStreamType: AgoraRtcVideoStreamType;
7
+ videoStreamType: FcrVideoStreamType;
8
8
  videoSourceType: FcrVideoSourceType;
9
- renderMode: AgoraRtcRenderMode;
9
+ renderMode: FcrVideoRenderMode;
10
10
  hasScreenSharing: boolean;
11
11
  scalcValue: number;
12
12
  onScaleChange: (scale: number) => void;
@@ -15,6 +15,10 @@
15
15
  z-index: 0;
16
16
  }
17
17
 
18
+ .fcr-member-window-with-share-controlbar .fcr-member-window {
19
+ height: calc(100% - 28px);
20
+ }
21
+
18
22
  .fcr-member-window button,
19
23
  .fcr-member-board button {
20
24
  border: none;
@@ -1,7 +1,8 @@
1
- import { AgoraRtcRenderMode, AgoraRtcVideoStreamType } from 'fcr-core/lib/imports';
1
+ import { FcrVideoRenderMode, FcrVideoStreamType } from 'fcr-core/lib/type';
2
2
  import { FcrUIVideoWindowData, FcrUserRole } from '../../../type';
3
3
  import { FcrVideoWindowPreviewType } from '../../video-window/type';
4
4
  import { FcrInterpreterUserInfo } from 'fcr-core/lib/room-control/interpreter-control/types';
5
+ import { FcrPrivilegeUserRole } from 'fcr-core';
5
6
  export interface MemberWindowCustomProps {
6
7
  showAvatar: boolean;
7
8
  onDoubleClick?: () => void;
@@ -12,8 +13,8 @@ export interface MemberWindowCustomProps {
12
13
  height?: number;
13
14
  canShowSpeakerSpotlight: boolean;
14
15
  memberWindowPreviewType?: 'gallery' | 'carousel' | 'suspend';
15
- videoRenderMode: AgoraRtcRenderMode;
16
- videoStreamType: AgoraRtcVideoStreamType;
16
+ videoRenderMode: FcrVideoRenderMode;
17
+ videoStreamType: FcrVideoStreamType;
17
18
  isVideoSuspended: boolean;
18
19
  }
19
20
  export interface MemberWindowProps extends MemberWindowCustomProps {
@@ -60,8 +61,6 @@ export interface MemberWindowActionsProps {
60
61
  allowedOperations: string[];
61
62
  setVideoOrientation: () => void;
62
63
  showActionBottomLabel: boolean;
63
- isShowActionAudio: boolean;
64
- actionAudioTag: string;
65
64
  onVisibleChanged?: (visible: boolean) => void;
66
65
  videoWindowCurrentWidth?: number;
67
66
  videoWindowCurrentHeight?: number;
@@ -73,6 +72,11 @@ export interface MemberWindowActionsProps {
73
72
  renderListLength?: number;
74
73
  id: string | undefined;
75
74
  volume: number;
75
+ isLocalCameraInSecondaryWindow?: boolean;
76
+ deviceMicrophoneEnabled: boolean;
77
+ hasMutePermission: (targetRole: FcrUserRole | FcrPrivilegeUserRole) => boolean;
78
+ hasUnmutePermission: (targetRole: FcrUserRole | FcrPrivilegeUserRole) => boolean;
79
+ hasRequestStartAudioPermission: (targetRole: FcrUserRole | FcrPrivilegeUserRole) => boolean;
76
80
  }
77
81
  export type MemberWindowSlots = {
78
82
  topLeft?: React.ReactNode;
@@ -0,0 +1,9 @@
1
+ import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
2
+ export declare const AnnotationCaptureTool: (props: {
3
+ popoverVisible?: boolean;
4
+ placement: ToolTipProps["placement"];
5
+ size?: number;
6
+ hideTitle?: boolean;
7
+ direction?: "horizontal" | "vertical";
8
+ setPopoverVisible?: (visible: boolean) => void;
9
+ }) => 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.AnnotationCaptureTool = 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");
12
+ var _react = require("react");
13
+ var _i18n = require("agora-ui-foundation/lib/i18n");
14
+ var _panel = require("../panel");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var AnnotationCaptureTool = exports.AnnotationCaptureTool = function AnnotationCaptureTool(props) {
17
+ var t = (0, _i18n.useI18n)();
18
+ var size = props.size,
19
+ hideTitle = props.hideTitle,
20
+ popoverVisible = props.popoverVisible,
21
+ placement = props.placement,
22
+ direction = props.direction,
23
+ setPopoverVisible = props.setPopoverVisible;
24
+ var _useState = (0, _react.useState)(false),
25
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
26
+ visible = _useState2[0],
27
+ setVisible = _useState2[1];
28
+ var handleVisibleChange = function handleVisibleChange(visible) {
29
+ setVisible(visible);
30
+ setPopoverVisible === null || setPopoverVisible === void 0 || setPopoverVisible(visible);
31
+ };
32
+ var handleScreenshotClick = function handleScreenshotClick(hideWindow) {
33
+ return function () {
34
+ (window.parent.runtime || window.runtime).captureScreen({
35
+ hideWindow: hideWindow
36
+ });
37
+ handleVisibleChange(false);
38
+ };
39
+ };
40
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
41
+ placement: placement,
42
+ size: size,
43
+ hideTitle: hideTitle,
44
+ iconType: _type.FcrIconType.FCR_WHITEBOARD_SLICE,
45
+ title: t('fmt_screenshare_whiteboard_button_cutting'),
46
+ lineColor: "transparent",
47
+ visible: visible && popoverVisible,
48
+ onVisibleChange: handleVisibleChange,
49
+ showArrow: true,
50
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
51
+ direction: direction,
52
+ size: "small",
53
+ header: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
54
+ size: size,
55
+ onClick: handleScreenshotClick(false),
56
+ iconType: _type.FcrIconType.FCR_WHITEBOARD_SLICE,
57
+ title: t('fmt_screenshare_whiteboard_button_screenshot'),
58
+ hideTitle: true
59
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
60
+ size: size,
61
+ onClick: handleScreenshotClick(true),
62
+ iconType: _type.FcrIconType.FCR_WIHITEBOARD_SLICEWITHOUTCLASSROOM,
63
+ title: t('fmt_screenshare_whiteboard_options_hideshot'),
64
+ hideTitle: true
65
+ })]
66
+ })
67
+ });
68
+ };
@@ -0,0 +1,11 @@
1
+ import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
2
+ import { FcrBoardToolType } from 'fcr-core/lib/room-control/whiteboard-control/enums';
3
+ export declare const AnnotationCleanTool: (props: {
4
+ currentTool: FcrBoardToolType;
5
+ placement: ToolTipProps["placement"];
6
+ size?: number;
7
+ hideTitle?: boolean;
8
+ direction?: "horizontal" | "vertical";
9
+ setTool: (tool: FcrBoardToolType) => void;
10
+ clean: () => void;
11
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,71 @@
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.AnnotationCleanTool = 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");
12
+ var _react = require("react");
13
+ var _i18n = require("agora-ui-foundation/lib/i18n");
14
+ var _panel = require("../panel");
15
+ var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var AnnotationCleanTool = exports.AnnotationCleanTool = function AnnotationCleanTool(props) {
18
+ var t = (0, _i18n.useI18n)();
19
+ var size = props.size,
20
+ hideTitle = props.hideTitle,
21
+ currentTool = props.currentTool,
22
+ placement = props.placement,
23
+ direction = props.direction,
24
+ setTool = props.setTool,
25
+ clean = props.clean;
26
+ var _useState = (0, _react.useState)(false),
27
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
28
+ visible = _useState2[0],
29
+ setVisible = _useState2[1];
30
+ var handleVisibleChange = function handleVisibleChange(visible) {
31
+ setVisible(visible);
32
+ };
33
+ var handleEraserClick = function handleEraserClick() {
34
+ setTool(_enums.FcrBoardToolType.ERASER);
35
+ handleVisibleChange(false);
36
+ };
37
+ var handleEmptyClick = function handleEmptyClick() {
38
+ clean();
39
+ handleVisibleChange(false);
40
+ };
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
42
+ placement: placement,
43
+ size: size,
44
+ hideTitle: hideTitle,
45
+ active: currentTool === _enums.FcrBoardToolType.ERASER,
46
+ iconType: _type.FcrIconType.FCR_WHITEBOARD_ERASER,
47
+ title: t('fmt_screenshare_whiteboard_button_eraser'),
48
+ lineColor: "transparent",
49
+ visible: visible,
50
+ onVisibleChange: handleVisibleChange,
51
+ showArrow: true,
52
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
53
+ direction: direction,
54
+ size: "small",
55
+ header: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
56
+ size: size,
57
+ active: currentTool === _enums.FcrBoardToolType.ERASER,
58
+ onClick: handleEraserClick,
59
+ iconType: _type.FcrIconType.FCR_WHITEBOARD_ERASER,
60
+ title: t('fmt_screenshare_whiteboard_button_eraser'),
61
+ hideTitle: true
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
63
+ size: size,
64
+ onClick: handleEmptyClick,
65
+ iconType: _type.FcrIconType.FCR_WHITEBOARD_ELIMINATE,
66
+ title: t('fmt_screenshare_whiteboard_button_empty'),
67
+ hideTitle: true
68
+ })]
69
+ })
70
+ });
71
+ };
@@ -0,0 +1,11 @@
1
+ export declare const AnnotationColorPanel: (props: {
2
+ size?: number;
3
+ hideTitle?: boolean;
4
+ colors: string[];
5
+ currentColor: string;
6
+ onClick: (color: string) => void;
7
+ direction?: "horizontal" | "vertical";
8
+ commonColors?: string[];
9
+ contextMenu?: React.ReactNode;
10
+ onContextMenuClick?: (color: string) => void;
11
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,77 @@
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.includes.js");
9
+ require("core-js/modules/es.array.map.js");
10
+ require("core-js/modules/es.object.to-string.js");
11
+ require("core-js/modules/es.string.includes.js");
12
+ require("core-js/modules/esnext.iterator.constructor.js");
13
+ require("core-js/modules/esnext.iterator.map.js");
14
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
15
+ var _item = require("../../item");
16
+ var _panel = require("../../panel");
17
+ var _i18n = require("agora-ui-foundation/lib/i18n");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ var AnnotationColorPanel = exports.AnnotationColorPanel = function AnnotationColorPanel(props) {
20
+ var size = props.size,
21
+ hideTitle = props.hideTitle,
22
+ colors = props.colors,
23
+ currentColor = props.currentColor,
24
+ onClick = props.onClick,
25
+ _props$direction = props.direction,
26
+ direction = _props$direction === void 0 ? 'horizontal' : _props$direction,
27
+ commonColors = props.commonColors,
28
+ contextMenu = props.contextMenu,
29
+ onContextMenuClick = props.onContextMenuClick;
30
+ var transI18n = (0, _i18n.useI18n)();
31
+ return !contextMenu ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
32
+ type: "color",
33
+ direction: direction,
34
+ header: colors.map(function (color, index) {
35
+ return index < colors.length / 2 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
36
+ size: size,
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
+ hideTitle: hideTitle
44
+ }, color);
45
+ }),
46
+ footer: colors.map(function (color, index) {
47
+ return index >= colors.length / 2 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
48
+ size: size,
49
+ active: currentColor === color,
50
+ iconType: _type.FcrIconType.FCR_COLOR,
51
+ color: color,
52
+ lineColor: currentColor === color ? color : 'transparent',
53
+ onClick: onClick,
54
+ selected: currentColor === color,
55
+ hideTitle: hideTitle
56
+ }, color);
57
+ })
58
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
59
+ size: "small",
60
+ footer: transI18n('fmt_screenshare_whiteboard_tips_righclick'),
61
+ direction: direction,
62
+ content: colors.map(function (color) {
63
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_item.AnnotationToolItem, {
64
+ size: size,
65
+ active: currentColor === color,
66
+ iconType: _type.FcrIconType.FCR_COLOR,
67
+ color: color,
68
+ lineColor: currentColor === color ? color : 'transparent',
69
+ onClick: onClick,
70
+ selected: commonColors ? commonColors === null || commonColors === void 0 ? void 0 : commonColors.includes(color) : currentColor === color,
71
+ hideTitle: hideTitle,
72
+ contextMenu: contextMenu,
73
+ onContextMenuClick: onContextMenuClick
74
+ }, color);
75
+ })
76
+ });
77
+ };
@@ -0,0 +1,14 @@
1
+ import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
2
+ export declare const AnnotationColorTool: (props: {
3
+ colors: string[];
4
+ currentColor: string;
5
+ placement: ToolTipProps["placement"];
6
+ size?: number;
7
+ hideTitle?: boolean;
8
+ direction?: "horizontal" | "vertical";
9
+ commonColors?: string[];
10
+ setStrokeColor: (color: string) => void;
11
+ contextMenu?: React.ReactNode;
12
+ onContextMenuClick?: (color: string) => void;
13
+ selected?: boolean;
14
+ }) => import("react/jsx-runtime").JSX.Element;