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
@@ -0,0 +1,87 @@
1
+ .fcr-whiteboard-controlbar {
2
+ width: 100%;
3
+ height: 100%;
4
+ display: flex;
5
+ flex-direction: column;
6
+ position: relative;
7
+ }
8
+ .fcr-whiteboard-controlbar-header {
9
+ width: 100%;
10
+ height: 28px;
11
+ border-bottom: 1px solid var(--fcr_ui_scene_line1);
12
+ border-top: 1px solid var(--fcr_ui_scene_line1);
13
+ background: var(--fcr_mobile_ui_scene_color_popup_block3);
14
+ display: flex;
15
+ align-items: center;
16
+ justify-content: center;
17
+ column-gap: 12px;
18
+ position: sticky;
19
+ top: 0;
20
+ z-index: 100;
21
+ }
22
+ .fcr-whiteboard-controlbar-body {
23
+ width: 100%;
24
+ height: calc(100vh - 28px);
25
+ display: flex;
26
+ align-items: center;
27
+ justify-content: center;
28
+ position: absolute;
29
+ top: 28px;
30
+ bottom: 0;
31
+ overflow: hidden;
32
+ background-color: #e5e7eb;
33
+ }
34
+ .fcr-whiteboard-controlbar-body-content {
35
+ transition: all 0.3s ease-in-out;
36
+ display: flex;
37
+ justify-content: center;
38
+ align-items: center;
39
+ }
40
+ .fcr-whiteboard-controlbar-body-values {
41
+ position: absolute;
42
+ top: 0;
43
+ left: 0;
44
+ z-index: 100;
45
+ font-size: 12px;
46
+ }
47
+ .fcr-whiteboard-controlbar-left {
48
+ flex: 1;
49
+ justify-content: flex-end;
50
+ align-items: center;
51
+ display: flex;
52
+ font-weight: 400;
53
+ color: var(--fcr_ui_scene_icontext1);
54
+ font-size: 12px;
55
+ }
56
+ .fcr-whiteboard-controlbar-center {
57
+ display: flex;
58
+ align-items: center;
59
+ justify-content: center;
60
+ column-gap: 12px;
61
+ height: 20px;
62
+ }
63
+ .fcr-whiteboard-controlbar-center .fcr-whiteboard-controlbar-item:hover svg path {
64
+ fill: var(--fcr_web_ui_scene_mainicon2);
65
+ }
66
+ .fcr-whiteboard-controlbar-center .divider-vertical {
67
+ height: 50%;
68
+ }
69
+ .fcr-whiteboard-controlbar-right {
70
+ flex: 1;
71
+ }
72
+ .fcr-whiteboard-controlbar-right .fcr-button-XXS {
73
+ height: 20px;
74
+ padding: 0 5px;
75
+ }
76
+ .fcr-whiteboard-controlbar-item {
77
+ width: 20px;
78
+ height: 20px;
79
+ border-radius: 6px;
80
+ display: flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+ cursor: pointer;
84
+ }
85
+ .fcr-whiteboard-controlbar-item:hover {
86
+ background: var(--fcr_ui_scene_ramp_brand0);
87
+ }
@@ -0,0 +1,20 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import { FcrUserInfo } from 'fcr-core/lib/type';
3
+ import { WhiteboardThemeType } from '../../whiteboard/type';
4
+ import './index.css';
5
+ export declare const WhiteboardControlbar: (props: PropsWithChildren<{
6
+ onClose: () => void;
7
+ onEnable: (enable: boolean) => void;
8
+ setTheme?: (theme: WhiteboardThemeType) => void;
9
+ ownerUser: Pick<FcrUserInfo, "userId" | "userName">;
10
+ currentUser: FcrUserInfo;
11
+ canWriteBoard: boolean;
12
+ controlEnabled: boolean;
13
+ isHost: boolean;
14
+ currentTheme: WhiteboardThemeType;
15
+ sharingType: "whiteboard" | "annotation";
16
+ onZoomIn?: () => void;
17
+ onZoomOut?: () => void;
18
+ onAdaptive?: () => void;
19
+ onOrigin?: () => void;
20
+ }>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,276 @@
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.WhiteboardControlbar = void 0;
9
+ require("core-js/modules/es.array.includes.js");
10
+ require("core-js/modules/es.object.values.js");
11
+ require("core-js/modules/es.string.includes.js");
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _icon = require("agora-ui-foundation/lib/components/icon");
14
+ var _type = require("agora-ui-foundation/lib/components/icon/type");
15
+ var _switchTheme = _interopRequireDefault(require("./components/switch-theme"));
16
+ var _react = require("react");
17
+ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
18
+ var _button = require("agora-ui-foundation/lib/components/button");
19
+ var _divider = _interopRequireDefault(require("agora-ui-foundation/lib/components/divider"));
20
+ var _i18n = require("agora-ui-foundation/lib/i18n");
21
+ var _type2 = require("../../whiteboard/type");
22
+ require("./index.css");
23
+ var _jsxRuntime = require("react/jsx-runtime");
24
+ var initWidth = 1920;
25
+ var initHeight = 1220;
26
+ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardControlbar(props) {
27
+ var transI18n = (0, _i18n.useI18n)();
28
+ var onClose = props.onClose,
29
+ onEnable = props.onEnable,
30
+ setTheme = props.setTheme,
31
+ ownerUser = props.ownerUser,
32
+ currentUser = props.currentUser,
33
+ canWriteBoard = props.canWriteBoard,
34
+ controlEnabled = props.controlEnabled,
35
+ isHost = props.isHost,
36
+ children = props.children,
37
+ currentTheme = props.currentTheme,
38
+ sharingType = props.sharingType,
39
+ onZoomIn = props.onZoomIn,
40
+ onZoomOut = props.onZoomOut,
41
+ onAdaptive = props.onAdaptive,
42
+ onOrigin = props.onOrigin;
43
+ var boardRef = (0, _react.useRef)(undefined);
44
+ var _useState = (0, _react.useState)(false),
45
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
46
+ loading = _useState2[0],
47
+ setLoading = _useState2[1];
48
+ var _useState3 = (0, _react.useState)(false),
49
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
50
+ isMinimum = _useState4[0],
51
+ setIsMinimum = _useState4[1];
52
+ var _useState5 = (0, _react.useState)(false),
53
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
54
+ isMaxmum = _useState6[0],
55
+ setIsMaxmum = _useState6[1];
56
+ var _useState7 = (0, _react.useState)(false),
57
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
58
+ isAdaptived = _useState8[0],
59
+ setIsAdaptived = _useState8[1];
60
+ var _useState9 = (0, _react.useState)(false),
61
+ _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
62
+ isOriginal = _useState0[0],
63
+ setIsOriginal = _useState0[1];
64
+ var _useState1 = (0, _react.useState)(false),
65
+ _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
66
+ showSwitchTheme = _useState10[0],
67
+ setShowSwitchTheme = _useState10[1];
68
+ var _useState11 = (0, _react.useState)(1),
69
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
70
+ scaleValue = _useState12[0],
71
+ setScaleValue = _useState12[1];
72
+ var _useState13 = (0, _react.useState)(0),
73
+ _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
74
+ contianHeight = _useState14[0],
75
+ setContianHeight = _useState14[1];
76
+ (0, _react.useEffect)(function () {
77
+ return function () {
78
+ return setLoading(false);
79
+ };
80
+ }, []);
81
+ var handleBoardRef = function handleBoardRef(ref) {
82
+ var _boardRef$current;
83
+ boardRef.current = ref;
84
+ var height = ((_boardRef$current = boardRef.current) === null || _boardRef$current === void 0 ? void 0 : _boardRef$current.clientHeight) || 0;
85
+ setContianHeight(height);
86
+ };
87
+ var isMeOwner = (ownerUser === null || ownerUser === void 0 ? void 0 : ownerUser.userId) === (currentUser === null || currentUser === void 0 ? void 0 : currentUser.userId);
88
+ function setCanvasBound(oprate) {
89
+ if (!Object.values(_type2.WhiteboardControlbarEvents).includes(oprate) || oprate === _type2.WhiteboardControlbarEvents.ENABLE_CONTROL) {
90
+ return;
91
+ }
92
+ setIsMinimum(false);
93
+ setIsMaxmum(false);
94
+ setIsAdaptived(false);
95
+ setIsOriginal(false);
96
+ var step = 3;
97
+ if (oprate === _type2.WhiteboardControlbarEvents.ZOOMIN) {
98
+ if (onZoomIn) return onZoomIn();
99
+ if (scaleValue < step) {
100
+ setIsMaxmum(false);
101
+ setScaleValue(scaleValue + 1);
102
+ } else {
103
+ setIsMaxmum(true);
104
+ }
105
+ }
106
+ if (oprate === _type2.WhiteboardControlbarEvents.ZOOMOUT) {
107
+ if (onZoomOut) return onZoomOut();
108
+ if (scaleValue > 1) {
109
+ setScaleValue(scaleValue - 1);
110
+ } else {
111
+ setIsMinimum(true);
112
+ }
113
+ }
114
+ if (oprate === _type2.WhiteboardControlbarEvents.ORIGIN) {
115
+ if (onOrigin) return onOrigin();
116
+ setIsOriginal(true);
117
+ setScaleValue(1);
118
+ }
119
+ if (oprate === _type2.WhiteboardControlbarEvents.ADAPTIVE) {
120
+ if (onAdaptive) return onAdaptive();
121
+ setIsAdaptived(true);
122
+ setScaleValue(2);
123
+ }
124
+ }
125
+ var width = (0, _react.useMemo)(function () {
126
+ return initWidth * (contianHeight / initHeight) * scaleValue;
127
+ }, [contianHeight, scaleValue]);
128
+ var height = (0, _react.useMemo)(function () {
129
+ return initHeight * (contianHeight / initHeight) * scaleValue;
130
+ }, [contianHeight, scaleValue]);
131
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
132
+ className: "fcr-whiteboard-controlbar",
133
+ id: "fcr-whiteboard-controlbar",
134
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
135
+ className: "fcr-whiteboard-controlbar-header",
136
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
137
+ className: "fcr-whiteboard-controlbar-left",
138
+ children: transI18n('fmt_screenshare_whiteboard_tips_someonesharing', {
139
+ reason1: isMeOwner ? transI18n('fmt_settings_labels_you') : (ownerUser === null || ownerUser === void 0 ? void 0 : ownerUser.userName) || ''
140
+ })
141
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
142
+ className: "fcr-whiteboard-controlbar-center",
143
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
144
+ content: isMinimum ? transI18n('fmt_screenshare_whiteboard_tips_alreadyminumumsize') : transI18n('fmt_screenshare_whiteboard_button_narrow'),
145
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
146
+ className: "fcr-whiteboard-controlbar-item",
147
+ onClick: function onClick() {
148
+ return setCanvasBound(_type2.WhiteboardControlbarEvents.ZOOMOUT);
149
+ },
150
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
151
+ type: _type.FcrIconType.FCR_ZOOMIN,
152
+ size: 22,
153
+ colors: {
154
+ iconPrimary: isMinimum ? 'gray' : 'var(--fcr_ui_scene_icontext1)'
155
+ }
156
+ })
157
+ })
158
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
159
+ content: isMaxmum ? transI18n('fmt_screenshare_whiteboard_tips_alreadymaximumsize') : transI18n('fmt_screenshare_whiteboard_button_enlarge'),
160
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
161
+ className: "fcr-whiteboard-controlbar-item",
162
+ onClick: function onClick() {
163
+ return setCanvasBound(_type2.WhiteboardControlbarEvents.ZOOMIN);
164
+ },
165
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
166
+ type: _type.FcrIconType.FCR_ZOOMOUT,
167
+ size: 22,
168
+ colors: {
169
+ iconPrimary: isMaxmum ? 'gray' : 'var(--fcr_ui_scene_icontext1)'
170
+ }
171
+ })
172
+ })
173
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
174
+ content: isAdaptived ? transI18n('fmt_screenshare_whiteboard_tips_alreadyadaptionsize') : transI18n('fmt_screenshare_lables_adaptionlsize'),
175
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
176
+ className: "fcr-whiteboard-controlbar-item",
177
+ onClick: function onClick() {
178
+ return setCanvasBound(_type2.WhiteboardControlbarEvents.ADAPTIVE);
179
+ },
180
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
181
+ type: _type.FcrIconType.FCR_FULLCOVERAGE,
182
+ size: 22,
183
+ colors: {
184
+ iconPrimary: isAdaptived ? 'gray' : 'var(--fcr_ui_scene_icontext1)'
185
+ }
186
+ })
187
+ })
188
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
189
+ content: isOriginal ? transI18n('fmt_screenshare_tips_alreadyoriginalsize') : transI18n('fmt_screenshare_lables_originalsize'),
190
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
191
+ className: "fcr-whiteboard-controlbar-item",
192
+ onClick: function onClick() {
193
+ return setCanvasBound(_type2.WhiteboardControlbarEvents.ORIGIN);
194
+ },
195
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
196
+ type: _type.FcrIconType.FCR_EQUALRATIO,
197
+ size: 22,
198
+ colors: {
199
+ iconPrimary: isOriginal ? 'gray' : 'var(--fcr_ui_scene_icontext1)'
200
+ }
201
+ })
202
+ })
203
+ }), (canWriteBoard || isMeOwner || isHost) && setTheme && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
204
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_divider["default"], {
205
+ type: "vertical"
206
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
207
+ className: "fcr-whiteboard-controlbar-item",
208
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_switchTheme["default"], {
209
+ whiteboardVisible: showSwitchTheme,
210
+ setWhiteboardVisible: function setWhiteboardVisible() {
211
+ return setShowSwitchTheme(!showSwitchTheme);
212
+ },
213
+ currentThemeType: currentTheme,
214
+ setTheme: setTheme
215
+ })
216
+ })]
217
+ })]
218
+ }), !controlEnabled && !isMeOwner && !isHost && /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.FcrToolTip, {
219
+ content: canWriteBoard ? transI18n('fmt_screenshare_options_enableedit') : transI18n('fmt_screenshare_tips_unenabled'),
220
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
221
+ className: "fcr-whiteboard-controlbar-item",
222
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
223
+ type: _type.FcrIconType.FCR_WHITEBOARD2,
224
+ size: 22,
225
+ colors: {
226
+ iconPrimary: canWriteBoard ? 'var(--fcr_ui_scene_icontext1)' : 'gray'
227
+ },
228
+ onClick: function onClick() {
229
+ return canWriteBoard ? onEnable(true) : null;
230
+ }
231
+ })
232
+ })
233
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
234
+ className: "fcr-whiteboard-controlbar-right",
235
+ children: [isMeOwner && /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
236
+ loading: loading,
237
+ size: "XXS",
238
+ styleType: "danger",
239
+ shape: "rounded",
240
+ onClick: function onClick() {
241
+ onClose();
242
+ setLoading(true);
243
+ },
244
+ children: transI18n('fmt_screenshare_controlbar_button_stop')
245
+ }), controlEnabled && !isMeOwner && canWriteBoard && /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
246
+ loading: loading,
247
+ size: "XXS",
248
+ styleType: "normal",
249
+ shape: "rounded",
250
+ onClick: function onClick() {
251
+ return onEnable(false);
252
+ },
253
+ children: transI18n('fmt_screenshare_whiteboard_button_exitdrawing')
254
+ })]
255
+ })]
256
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
257
+ className: "fcr-whiteboard-controlbar-body",
258
+ ref: handleBoardRef,
259
+ style: {
260
+ backgroundColor: sharingType === 'annotation' ? 'transparent' : '#e5e7eb'
261
+ },
262
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
263
+ className: "fcr-whiteboard-controlbar-body-content",
264
+ style: {
265
+ width: "".concat(width, "px"),
266
+ height: "".concat(height, "px"),
267
+ position: 'absolute',
268
+ left: "-".concat(width / 2, "px"),
269
+ marginLeft: '50%',
270
+ top: "-".concat((height - contianHeight) / 2, "px")
271
+ },
272
+ children: children
273
+ })
274
+ })]
275
+ });
276
+ };
@@ -54,7 +54,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
54
54
  var _react = require("react");
55
55
  var _fcrCore = require("fcr-core");
56
56
  var _mobx = require("mobx");
57
- var _type = require("agora-rte-sdk/lib/core/scene/type");
57
+ var _type = require("fcr-core/lib/type");
58
58
  var _decorator = require("agora-foundation/lib/decorator");
59
59
  var _constant = require("../../../utilities/constant");
60
60
  var _DeviceControlStore;
@@ -228,7 +228,7 @@ var DeviceControlStore = exports.DeviceControlStore = /*#__PURE__*/function () {
228
228
  var hasPstnStream = !!pstnStream;
229
229
  this.isPstnUser = hasPstnStream;
230
230
  if (hasPstnStream) {
231
- this.phoneMicEnabled = pstnStream.streamType === _type.AgoraRteMediaStreamType.BOTH || pstnStream.audioSourceState === _fcrCore.FcrMediaSourceState.OPEN;
231
+ this.phoneMicEnabled = pstnStream.streamType === _type.FcrStreamType.BOTH || pstnStream.audioSourceState === _fcrCore.FcrMediaSourceState.OPEN;
232
232
  }
233
233
  }
234
234
  }]);
@@ -114,15 +114,6 @@
114
114
  color: var(--fcr_ui_scene_icontext3);
115
115
  cursor: not-allowed;
116
116
  }
117
- .fcr-action-bar--leave-meeting-portal {
118
- width: 280px;
119
- position: absolute;
120
- top: 2px;
121
- z-index: 999;
122
- background-color: var(--fcr_ui_scene_white10);
123
- border-radius: var(--fcr_cornerradius_l);
124
- box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
125
- }
126
117
 
127
118
  .fcr-assign-host-close {
128
119
  border-radius: var(--fcr_cornerradius_round);
@@ -1,4 +1,5 @@
1
1
  export declare const LeaveMeeting: (props: {
2
- setPopoverOpened: React.Dispatch<React.SetStateAction<boolean>>;
2
+ setPopoverOpened?: React.Dispatch<React.SetStateAction<boolean>>;
3
3
  onAssigned?: () => void;
4
+ onLeave?: () => void;
4
5
  }) => import("react/jsx-runtime").JSX.Element;
@@ -18,8 +18,9 @@ var _button = require("agora-ui-foundation/lib/components/button");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (props) {
20
20
  var t = (0, _i18n.useI18n)();
21
- var setPopoverOpened = props.setPopoverOpened,
22
- onAssigned = props.onAssigned;
21
+ var _setPopoverOpened = props.setPopoverOpened,
22
+ onAssigned = props.onAssigned,
23
+ onLeave = props.onLeave;
23
24
  var _useContext = (0, _react.useContext)(_store.LeaveMeetingStoreContext),
24
25
  canAssign = _useContext.canAssign,
25
26
  keepConnect = _useContext.keepConnect,
@@ -39,7 +40,7 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
39
40
 
40
41
  // 结束会议
41
42
  var handleEnd = function handleEnd() {
42
- setPopoverOpened(false);
43
+ _setPopoverOpened === null || _setPopoverOpened === void 0 || _setPopoverOpened(false);
43
44
  showEndConfirmDialog();
44
45
  };
45
46
 
@@ -49,15 +50,17 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
49
50
  setCanAssign(true);
50
51
  } else {
51
52
  leave();
52
- setPopoverOpened(false);
53
+ _setPopoverOpened === null || _setPopoverOpened === void 0 || _setPopoverOpened(false);
54
+ onLeave === null || onLeave === void 0 || onLeave();
53
55
  }
54
56
  };
55
57
  var handleConfirm = function handleConfirm() {
56
- setPopoverOpened(false);
58
+ _setPopoverOpened === null || _setPopoverOpened === void 0 || _setPopoverOpened(false);
57
59
  leave();
60
+ onLeave === null || onLeave === void 0 || onLeave();
58
61
  };
59
62
  var handleCancel = function handleCancel() {
60
- setPopoverOpened(false);
63
+ _setPopoverOpened === null || _setPopoverOpened === void 0 || _setPopoverOpened(false);
61
64
  };
62
65
  (0, _react.useEffect)(function () {
63
66
  return setCanAssign(false);
@@ -69,7 +72,9 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
69
72
  (_window$runtime = window.runtime) === null || _window$runtime === void 0 || (_window$runtime = _window$runtime.browserWindow) === null || _window$runtime === void 0 || _window$runtime.setIgnoreMouseEvents(false);
70
73
  },
71
74
  children: canAssign ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_assignHost2.AssignHost, {
72
- setPopoverOpened: setPopoverOpened,
75
+ setPopoverOpened: function setPopoverOpened() {
76
+ return _setPopoverOpened === null || _setPopoverOpened === void 0 ? void 0 : _setPopoverOpened(false);
77
+ },
73
78
  setCanAssign: setCanAssign,
74
79
  remoteUsers: hostAvailibleRemoteUsers,
75
80
  assignHost: function assignHost(user) {
@@ -102,7 +107,10 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
102
107
  children: t('fmt_popup_button_endmeeting')
103
108
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
104
109
  className: "leave-cancel",
105
- onClick: handleLeave,
110
+ onClick: function onClick(e) {
111
+ e.stopPropagation();
112
+ handleLeave();
113
+ },
106
114
  children: t('fmt_popup_button_leavemeeting')
107
115
  })]
108
116
  })
@@ -115,6 +123,9 @@ var LeaveMeeting = exports.LeaveMeeting = (0, _mobxReact.observer)(function (pro
115
123
  var _window$runtime2;
116
124
  (_window$runtime2 = window.runtime) === null || _window$runtime2 === void 0 || (_window$runtime2 = _window$runtime2.browserWindow) === null || _window$runtime2 === void 0 || _window$runtime2.setIgnoreMouseEvents(false);
117
125
  },
126
+ onBlur: function onBlur() {
127
+ _setPopoverOpened === null || _setPopoverOpened === void 0 || _setPopoverOpened(false);
128
+ },
118
129
  children: [isLocked ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
119
130
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
120
131
  className: "assistant-leave-lock-info",
@@ -0,0 +1,6 @@
1
+ import { PropsWithChildren } from 'react';
2
+ import './style.css';
3
+ export declare const LeaveMeetingPortal: (props: PropsWithChildren<{
4
+ setPopoverOpened?: React.Dispatch<React.SetStateAction<boolean>>;
5
+ onLeave?: () => void;
6
+ }>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,29 @@
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.LeaveMeetingPortal = void 0;
8
+ var _ = require(".");
9
+ var _platform = require("../../../utilities/platform");
10
+ require("./style.css");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var LeaveMeetingPortal = exports.LeaveMeetingPortal = function LeaveMeetingPortal(props) {
13
+ var setPopoverOpened = props.setPopoverOpened,
14
+ children = props.children,
15
+ onLeave = props.onLeave;
16
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
17
+ className: "fcr-action-bar--leave-meeting-portal",
18
+ id: "fcr-action-bar--leave-meeting-portal",
19
+ style: (0, _platform.isWindows)() ? {
20
+ right: '10px'
21
+ } : {
22
+ left: '10px'
23
+ },
24
+ children: children || /*#__PURE__*/(0, _jsxRuntime.jsx)(_.LeaveMeeting, {
25
+ setPopoverOpened: setPopoverOpened,
26
+ onLeave: onLeave
27
+ })
28
+ });
29
+ };
@@ -0,0 +1,9 @@
1
+ .fcr-action-bar--leave-meeting-portal {
2
+ width: 280px;
3
+ position: absolute;
4
+ top: 2px;
5
+ z-index: 999;
6
+ background-color: var(--fcr_ui_scene_white10);
7
+ border-radius: var(--fcr_cornerradius_l);
8
+ box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
9
+ }
@@ -1,9 +1,12 @@
1
1
  import React from 'react';
2
+ import { FcrPrivilegeUserRole, FcrUserRole } from 'fcr-core';
2
3
  export interface ActionsTopProps {
3
- isShowActionAudio: boolean;
4
- actionAudioTag: string;
5
4
  hasPinnedStream: boolean;
6
5
  allowedOperations: string[];
7
6
  hideAudioConnectIcon: boolean;
7
+ isLocalCameraInSecondaryWindow: boolean;
8
+ hasMutePermission: (targetRole: FcrUserRole | FcrPrivilegeUserRole) => boolean;
9
+ hasUnmutePermission: (targetRole: FcrUserRole | FcrPrivilegeUserRole) => boolean;
10
+ hasRequestStartAudioPermission: (targetRole: FcrUserRole | FcrPrivilegeUserRole) => boolean;
8
11
  }
9
12
  export declare const MoreActions: React.FC<ActionsTopProps>;
@@ -25,34 +25,43 @@ var _type = require("agora-ui-foundation/lib/components/icon/type");
25
25
  var _participantsMore = require("agora-ui-foundation/lib/components/participants/participants-more");
26
26
  var _fcrCore = require("fcr-core");
27
27
  var _provider = require("../provider");
28
- var _type2 = require("fcr-core/lib/type");
29
28
  var _mobxReact = require("mobx-react");
29
+ var _muteAction = require("../../../../../../utilities/mute-action");
30
30
  var _jsxRuntime = require("react/jsx-runtime");
31
31
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
32
32
  var EMPTY_HIDE_ACTIONS = [];
33
33
  var MoreActions = exports.MoreActions = (0, _mobxReact.observer)(function (_ref) {
34
- var isShowActionAudio = _ref.isShowActionAudio,
35
- actionAudioTag = _ref.actionAudioTag,
36
- hasPinnedStream = _ref.hasPinnedStream,
37
- allowedOperations = _ref.allowedOperations;
34
+ var hasPinnedStream = _ref.hasPinnedStream,
35
+ allowedOperations = _ref.allowedOperations,
36
+ isLocalCameraInSecondaryWindow = _ref.isLocalCameraInSecondaryWindow,
37
+ hasMutePermission = _ref.hasMutePermission,
38
+ hasUnmutePermission = _ref.hasUnmutePermission,
39
+ hasRequestStartAudioPermission = _ref.hasRequestStartAudioPermission;
38
40
  var t = (0, _i18n.useI18n)();
39
41
  var store = (0, _provider.useMemberWindowActionsStore)();
40
- var isMeeting = store.isMeeting;
42
+ var isMeeting = store.isMeeting,
43
+ hasMicrophoneAudioStream = store.hasMicrophoneAudioStream;
41
44
  var _ref2 = store.windowData || {},
42
45
  userId = _ref2.userId,
43
46
  userName = _ref2.userName,
44
47
  ownerRoleType = _ref2.ownerRoleType,
45
48
  isMySelf = _ref2.isMySelf,
46
49
  hasVideoStream = _ref2.hasVideoStream,
47
- hasMicrophoneAudioStream = _ref2.hasMicrophoneAudioStream,
48
50
  isPin = _ref2.isPin,
49
51
  audioStreamConnectorType = _ref2.audioStreamConnectorType,
50
52
  videoStreamConnectorType = _ref2.videoStreamConnectorType,
51
53
  phoneMicEnabled = _ref2.phoneMicEnabled;
54
+ var targetRole = isMySelf ? _fcrCore.FcrPrivilegeUserRole.SELF : ownerRoleType;
55
+ var muteAudioPermission = hasMutePermission(targetRole);
56
+ var startAudioPermission = hasUnmutePermission(targetRole);
57
+ var requestStartAudioPermission = hasRequestStartAudioPermission(ownerRoleType);
58
+ var _actionMute = (0, _muteAction.actionMute)(isMySelf, hasMicrophoneAudioStream, muteAudioPermission, startAudioPermission, requestStartAudioPermission),
59
+ isShowActionAudio = _actionMute.isShowActionAudio,
60
+ actionAudioTag = _actionMute.actionAudioTag;
52
61
  var connectorType = audioStreamConnectorType !== _fcrCore.FcrRoomConnectorType.NONE ? audioStreamConnectorType : videoStreamConnectorType;
53
62
  var isPhone = connectorType === _fcrCore.FcrRoomConnectorType.PSTN;
54
63
  var userType = audioStreamConnectorType === _fcrCore.FcrRoomConnectorType.PSTN && !hasVideoStream ? 'phone' : isMeeting ? 'meeting-system' : 'normal';
55
- var isHost = ownerRoleType === _type2.FcrUserRole.HOST;
64
+ var isHost = ownerRoleType === _fcrCore.FcrUserRole.HOST;
56
65
  var audioDeviceType = isPhone ? 'phone-mic' : 'computer-mic';
57
66
  var userData = {
58
67
  userId: userId,
@@ -111,7 +120,8 @@ var MoreActions = exports.MoreActions = (0, _mobxReact.observer)(function (_ref)
111
120
  user: userData,
112
121
  onParticipantsButtonClick: onParticipantsButtonClick,
113
122
  hasPinnedStream: hasPinnedStream,
114
- hideActions: EMPTY_HIDE_ACTIONS
123
+ hideActions: EMPTY_HIDE_ACTIONS,
124
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
115
125
  }),
116
126
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
117
127
  className: "fcr-user-window-actions-more",
@@ -18,25 +18,25 @@ var ShareStatus = exports.ShareStatus = function ShareStatus() {
18
18
  var windowData = store.windowData,
19
19
  hasSharing = store.hasSharing;
20
20
  if (windowData.type === _type.FcrUIWindowType.BOARD) {
21
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
21
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
22
22
  children: t('fmt_share_label_shareboard', {
23
23
  reason1: ''
24
24
  })
25
25
  });
26
26
  }
27
27
  if (windowData.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN) {
28
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
28
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
29
29
  children: t('fmt_whiteboard_tips_share_nick', {
30
30
  reason1: ''
31
31
  })
32
32
  });
33
33
  }
34
34
  if (hasSharing && windowData.type === _type.FcrUIWindowType.VIDEO) {
35
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
36
36
  children: windowData.hasBoardSharing ? t('fmt_screenshare_whiteboard_tips_someonesharing', {
37
37
  reason1: ''
38
38
  }) : t('fmt_screenshare_status_sharing')
39
39
  });
40
40
  }
41
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {});
41
+ return null;
42
42
  };