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,407 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.date.to-primitive.js");
10
+ require("core-js/modules/es.function.bind.js");
11
+ require("core-js/modules/es.function.name.js");
12
+ require("core-js/modules/es.map.js");
13
+ require("core-js/modules/es.number.constructor.js");
14
+ require("core-js/modules/es.object.create.js");
15
+ require("core-js/modules/es.object.define-property.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
17
+ require("core-js/modules/esnext.function.metadata.js");
18
+ require("core-js/modules/esnext.map.delete-all.js");
19
+ require("core-js/modules/esnext.map.emplace.js");
20
+ require("core-js/modules/esnext.map.every.js");
21
+ require("core-js/modules/esnext.map.filter.js");
22
+ require("core-js/modules/esnext.map.find.js");
23
+ require("core-js/modules/esnext.map.find-key.js");
24
+ require("core-js/modules/esnext.map.includes.js");
25
+ require("core-js/modules/esnext.map.key-of.js");
26
+ require("core-js/modules/esnext.map.map-keys.js");
27
+ require("core-js/modules/esnext.map.map-values.js");
28
+ require("core-js/modules/esnext.map.merge.js");
29
+ require("core-js/modules/esnext.map.reduce.js");
30
+ require("core-js/modules/esnext.map.some.js");
31
+ require("core-js/modules/esnext.map.update.js");
32
+ require("core-js/modules/esnext.symbol.metadata.js");
33
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
34
+ var _typeof = require("@babel/runtime/helpers/typeof");
35
+ Object.defineProperty(exports, "__esModule", {
36
+ value: true
37
+ });
38
+ exports.SecondaryWindowStoreContext = exports.SecondaryWindowStore = void 0;
39
+ require("core-js/modules/es.array.find.js");
40
+ require("core-js/modules/es.array.for-each.js");
41
+ require("core-js/modules/es.array.iterator.js");
42
+ require("core-js/modules/es.array.push.js");
43
+ require("core-js/modules/es.object.to-string.js");
44
+ require("core-js/modules/es.string.iterator.js");
45
+ require("core-js/modules/es.weak-map.js");
46
+ require("core-js/modules/esnext.iterator.constructor.js");
47
+ require("core-js/modules/esnext.iterator.find.js");
48
+ require("core-js/modules/esnext.iterator.for-each.js");
49
+ require("core-js/modules/esnext.weak-map.delete-all.js");
50
+ require("core-js/modules/esnext.weak-map.emplace.js");
51
+ require("core-js/modules/web.dom-collections.for-each.js");
52
+ require("core-js/modules/web.dom-collections.iterator.js");
53
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
54
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
55
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
56
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
57
+ var _react = require("react");
58
+ var _type = require("./type");
59
+ var _decorator = require("agora-foundation/lib/decorator");
60
+ var _logger = require("../../utilities/logger");
61
+ var _constant = require("../../utilities/constant");
62
+ var _store = require("../dialog/store");
63
+ var _mobx = require("mobx");
64
+ var _fcrCore = require("fcr-core");
65
+ var _type2 = require("../layout/type");
66
+ var _SecondaryWindowStore;
67
+ var _initProto, _init__screenShareScalcValue, _init_isSharingWhiteboard;
68
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
69
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
70
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
71
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
72
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
73
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
74
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
75
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
76
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
77
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
78
+ var _A = /*#__PURE__*/new WeakMap();
79
+ var _B = /*#__PURE__*/new WeakMap();
80
+ var SecondaryWindowStore = exports.SecondaryWindowStore = /*#__PURE__*/function () {
81
+ function SecondaryWindowStore(_multiDisplayProvider, _videoWindowDataSource, _eventProvider, _sharedScreenShareDataSource, _memberSharedDataSource, _sharedWhiteboardDataSource, _sharedAnnotationDataSource, _annotationProvider) {
82
+ var _this = this;
83
+ (0, _classCallCheck2["default"])(this, SecondaryWindowStore);
84
+ (0, _defineProperty2["default"])(this, "logger", (_initProto(this), (0, _logger.createLogger)({
85
+ prefix: 'secondary-window-store'
86
+ })));
87
+ (0, _defineProperty2["default"])(this, "_observable", {
88
+ onContentDistributionUpdated: this._handleContentDistributionUpdated
89
+ });
90
+ (0, _defineProperty2["default"])(this, "_dialogId", null);
91
+ (0, _defineProperty2["default"])(this, "_disposers", []);
92
+ (0, _defineProperty2["default"])(this, "_prevFullScalc", {
93
+ width: document.body.offsetWidth,
94
+ height: document.body.offsetHeight,
95
+ scalc: 1
96
+ });
97
+ (0, _defineProperty2["default"])(this, "_screenShareSpeakerViewSize", {
98
+ width: document.body.offsetWidth,
99
+ height: document.body.offsetHeight
100
+ });
101
+ (0, _defineProperty2["default"])(this, "_maxScalcValue", 4);
102
+ (0, _defineProperty2["default"])(this, "_minScalcValue", 1);
103
+ (0, _defineProperty2["default"])(this, "_diffScalcValue", 0.5);
104
+ _classPrivateFieldInitSpec(this, _A, _init__screenShareScalcValue(this, 1));
105
+ _classPrivateFieldInitSpec(this, _B, _init_isSharingWhiteboard(this, false));
106
+ this._multiDisplayProvider = _multiDisplayProvider;
107
+ this._videoWindowDataSource = _videoWindowDataSource;
108
+ this._eventProvider = _eventProvider;
109
+ this._sharedScreenShareDataSource = _sharedScreenShareDataSource;
110
+ this._memberSharedDataSource = _memberSharedDataSource;
111
+ this._sharedWhiteboardDataSource = _sharedWhiteboardDataSource;
112
+ this._sharedAnnotationDataSource = _sharedAnnotationDataSource;
113
+ this._annotationProvider = _annotationProvider;
114
+ this._multiDisplayProvider.addObserver(this._observable);
115
+ if (this.secondaryWindowContentType !== _type.FcrUIDisplayDistributionContentType.HIDDEN) {
116
+ this._dialogId = this._eventProvider.openDialog(_constant.FcrUIDialogKey.SUB_WINDOW);
117
+ }
118
+ this._disposers.push((0, _mobx.reaction)(function () {
119
+ return _this.secondaryWindowContentType;
120
+ }, function () {
121
+ // 窗口内容变化时,重置缩放比例
122
+ _this._screenShareScalcValue = _this._minScalcValue;
123
+ }));
124
+ }
125
+ return (0, _createClass2["default"])(SecondaryWindowStore, [{
126
+ key: "_subWindowDialog",
127
+ get: function get() {
128
+ return _store.dialogWindows.get(_constant.FcrUIDialogKey.SUB_WINDOW);
129
+ }
130
+ }, {
131
+ key: "_screenShareScalcValue",
132
+ get: function get() {
133
+ return _classPrivateFieldGet(_A, this);
134
+ },
135
+ set: function set(v) {
136
+ _classPrivateFieldSet(_A, this, v);
137
+ }
138
+ }, {
139
+ key: "isSharingWhiteboard",
140
+ get: function get() {
141
+ return _classPrivateFieldGet(_B, this);
142
+ },
143
+ set: function set(v) {
144
+ _classPrivateFieldSet(_B, this, v);
145
+ }
146
+ }, {
147
+ key: "secondaryWindowContentType",
148
+ get: function get() {
149
+ return this._multiDisplayProvider.secondaryWindowContentType;
150
+ }
151
+ }, {
152
+ key: "videoWindowData",
153
+ get: function get() {
154
+ var mainList = this._videoWindowDataSource.mainList;
155
+ switch (this.secondaryWindowContentType) {
156
+ case _type.FcrUIDisplayDistributionContentType.LOCAL_CAMERA:
157
+ var data = mainList.find(function (item) {
158
+ return item.isMySelf;
159
+ });
160
+ if (data !== null && data !== void 0 && data.isPin) {
161
+ this._videoWindowDataSource.removePin(data.windowId);
162
+ }
163
+ return data;
164
+ case _type.FcrUIDisplayDistributionContentType.SHARING_SCREEN:
165
+ case _type.FcrUIDisplayDistributionContentType.SHARING_SCREEN_WITH_ANNOTATION:
166
+ return mainList.find(function (item) {
167
+ return item.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN;
168
+ });
169
+ case _type.FcrUIDisplayDistributionContentType.SHARING_WHITEBOARD:
170
+ return mainList.find(function (item) {
171
+ return item.type === _type2.FcrUIWindowType.BOARD;
172
+ });
173
+ default:
174
+ return undefined;
175
+ }
176
+ }
177
+ }, {
178
+ key: "isCurrentOriginal",
179
+ get: function get() {
180
+ return this._screenShareScalcValue === this._minScalcValue;
181
+ }
182
+ }, {
183
+ key: "isZoomMaxmum",
184
+ get: function get() {
185
+ return this._screenShareScalcValue >= this._maxScalcValue;
186
+ }
187
+ }, {
188
+ key: "isZoomMinimum",
189
+ get: function get() {
190
+ return this._screenShareScalcValue <= this._minScalcValue;
191
+ }
192
+ }, {
193
+ key: "isAspectRatioPreserved",
194
+ get: function get() {
195
+ var _this$_screenShareSpe = this._screenShareSpeakerViewSize,
196
+ width = _this$_screenShareSpe.width,
197
+ height = _this$_screenShareSpe.height;
198
+ var _this$_prevFullScalc = this._prevFullScalc,
199
+ prevWidth = _this$_prevFullScalc.width,
200
+ prevHeight = _this$_prevFullScalc.height,
201
+ prevScalc = _this$_prevFullScalc.scalc;
202
+ var isAspectRatio = width === prevWidth && height === prevHeight && this._screenShareScalcValue == prevScalc;
203
+ return isAspectRatio;
204
+ }
205
+ }, {
206
+ key: "scalValue",
207
+ get: function get() {
208
+ return this._screenShareScalcValue;
209
+ }
210
+ }, {
211
+ key: "currentUser",
212
+ get: function get() {
213
+ return this._memberSharedDataSource.localUser;
214
+ }
215
+ }, {
216
+ key: "ownerUser",
217
+ get: function get() {
218
+ return this._sharedWhiteboardDataSource.sharingUserInfo;
219
+ }
220
+ }, {
221
+ key: "isHost",
222
+ get: function get() {
223
+ return this._memberSharedDataSource.isLocalUserHost;
224
+ }
225
+ }, {
226
+ key: "canWriteBoard",
227
+ get: function get() {
228
+ return this._sharedWhiteboardDataSource.canWriteBoard;
229
+ }
230
+ }, {
231
+ key: "toolbarState",
232
+ get: function get() {
233
+ return this._sharedWhiteboardDataSource.toolbarState;
234
+ }
235
+ }, {
236
+ key: "currentTheme",
237
+ get: function get() {
238
+ return this._sharedWhiteboardDataSource.currentTheme;
239
+ }
240
+ }, {
241
+ key: "connectionState",
242
+ get: function get() {
243
+ return this._sharedWhiteboardDataSource.connectionState;
244
+ }
245
+ }, {
246
+ key: "showLoading",
247
+ get: function get() {
248
+ return this._sharedWhiteboardDataSource.showLoading;
249
+ }
250
+ }, {
251
+ key: "joinSuccess",
252
+ get: function get() {
253
+ return this._sharedWhiteboardDataSource.joinSuccess;
254
+ }
255
+ }, {
256
+ key: "isScreenShare",
257
+ get: function get() {
258
+ var _this$videoWindowData;
259
+ return ((_this$videoWindowData = this.videoWindowData) === null || _this$videoWindowData === void 0 ? void 0 : _this$videoWindowData.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN;
260
+ }
261
+ }, {
262
+ key: "isBoardShare",
263
+ get: function get() {
264
+ var _this$videoWindowData2;
265
+ return ((_this$videoWindowData2 = this.videoWindowData) === null || _this$videoWindowData2 === void 0 ? void 0 : _this$videoWindowData2.type) === _type2.FcrUIWindowType.BOARD;
266
+ }
267
+ }, {
268
+ key: "annotationHasStart",
269
+ get: function get() {
270
+ return this._sharedAnnotationDataSource.annotationHasStart;
271
+ }
272
+ }, {
273
+ key: "isShowToolbar",
274
+ get: function get() {
275
+ return this.isBoardShare ? this._sharedWhiteboardDataSource.toolbarState.controlEnable || this.isHost : this._annotationProvider.isShowToolbar;
276
+ }
277
+ }, {
278
+ key: "getContent",
279
+ value: function getContent() {}
280
+ }, {
281
+ key: "handleIframeLoad",
282
+ value: function handleIframeLoad(iframe) {
283
+ iframe === null || iframe === void 0 || iframe.addEventListener('load', function () {
284
+ iframe.style.width = '100%';
285
+ iframe.style.height = '100%';
286
+ });
287
+ }
288
+ }, {
289
+ key: "zoomOut",
290
+ value: function zoomOut() {
291
+ if (this._screenShareScalcValue < this._maxScalcValue) {
292
+ this._screenShareScalcValue += this._diffScalcValue;
293
+ }
294
+ }
295
+ }, {
296
+ key: "zoomIn",
297
+ value: function zoomIn() {
298
+ if (this._screenShareScalcValue > this._minScalcValue) {
299
+ this._screenShareScalcValue -= this._diffScalcValue;
300
+ }
301
+ }
302
+ }, {
303
+ key: "fullContainer",
304
+ value: function fullContainer() {
305
+ // = 外层容器的宽/(外层容器的高 * 屏幕共享的宽高比)
306
+ var _this$_screenShareSpe2 = this._screenShareSpeakerViewSize,
307
+ width = _this$_screenShareSpe2.width,
308
+ height = _this$_screenShareSpe2.height;
309
+ var scalc = width / (height * this._sharedScreenShareDataSource.screenShareVideoRatio);
310
+ this._prevFullScalc = {
311
+ width: width,
312
+ height: height,
313
+ scalc: scalc
314
+ };
315
+ this._screenShareScalcValue = scalc;
316
+ }
317
+ }, {
318
+ key: "setScaleValue",
319
+ value: function setScaleValue(scale) {
320
+ this._screenShareScalcValue = scale;
321
+ }
322
+ }, {
323
+ key: "setOriginScalc",
324
+ value: function setOriginScalc() {
325
+ this._screenShareScalcValue = this._minScalcValue;
326
+ }
327
+ }, {
328
+ key: "setSpeakerViewSize",
329
+ value: function setSpeakerViewSize(width, height) {
330
+ this._screenShareSpeakerViewSize = {
331
+ width: width,
332
+ height: height
333
+ };
334
+ }
335
+ }, {
336
+ key: "setWhiteboardTool",
337
+ value: function setWhiteboardTool(tool) {
338
+ this._sharedWhiteboardDataSource.setWhiteboardTool(tool);
339
+ }
340
+ }, {
341
+ key: "saveWhiteboardDraft",
342
+ value: function saveWhiteboardDraft() {
343
+ this._sharedWhiteboardDataSource.saveDraft();
344
+ }
345
+ }, {
346
+ key: "setProgress",
347
+ value: function setProgress(progress) {
348
+ this._sharedWhiteboardDataSource.setProgress(progress);
349
+ }
350
+ }, {
351
+ key: "setTheme",
352
+ value: function setTheme(theme) {
353
+ this._sharedWhiteboardDataSource.setTheme(theme);
354
+ }
355
+ }, {
356
+ key: "setControlEnable",
357
+ value: function setControlEnable(enable) {
358
+ this._sharedWhiteboardDataSource.setControlEnable(enable);
359
+ }
360
+ }, {
361
+ key: "setShowLoading",
362
+ value: function setShowLoading(show) {
363
+ this._sharedWhiteboardDataSource.setShowLoading(show);
364
+ }
365
+ }, {
366
+ key: "setCommonColors",
367
+ value: function setCommonColors(colors) {
368
+ this._sharedWhiteboardDataSource.setCommonColors(colors);
369
+ }
370
+ }, {
371
+ key: "log",
372
+ value: function log(message) {
373
+ this.logger.info(message);
374
+ }
375
+ }, {
376
+ key: "release",
377
+ value: function release() {
378
+ this._disposers.forEach(function (disposer) {
379
+ return disposer();
380
+ });
381
+ this._disposers = [];
382
+ }
383
+ }, {
384
+ key: "_handleContentDistributionUpdated",
385
+ value: function _handleContentDistributionUpdated(distribution) {
386
+ var _this$_subWindowDialo;
387
+ switch (distribution.secondaryWindow.type) {
388
+ case _type.FcrUIDisplayDistributionContentType.HIDDEN:
389
+ if (this._dialogId) {
390
+ this._eventProvider.closeDialog(this._dialogId);
391
+ this._dialogId = '';
392
+ }
393
+ break;
394
+ default:
395
+ if (this._dialogId) return (_this$_subWindowDialo = this._subWindowDialog) === null || _this$_subWindowDialo === void 0 ? void 0 : _this$_subWindowDialo.show();
396
+ this._dialogId = this._eventProvider.openDialog(_constant.FcrUIDialogKey.SUB_WINDOW);
397
+ break;
398
+ }
399
+ }
400
+ }]);
401
+ }();
402
+ _SecondaryWindowStore = SecondaryWindowStore;
403
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SecondaryWindowStore, [[_mobx.observable, 1, "_screenShareScalcValue"], [_mobx.observable, 1, "isSharingWhiteboard"], [_mobx.computed, 3, "videoWindowData"], [_mobx.computed, 3, "isAspectRatioPreserved"], [_mobx.computed, 3, "scalValue"], [_decorator.bound, 2, "handleIframeLoad"], [_decorator.bound, 2, "zoomOut"], [_decorator.bound, 2, "zoomIn"], [_decorator.bound, 2, "fullContainer"], [_decorator.bound, 2, "setScaleValue"], [_decorator.bound, 2, "setOriginScalc"], [_decorator.bound, 2, "setSpeakerViewSize"], [_decorator.bound, 2, "setWhiteboardTool"], [_decorator.bound, 2, "saveWhiteboardDraft"], [_decorator.bound, 2, "setProgress"], [_decorator.bound, 2, "setTheme"], [_decorator.bound, 2, "setControlEnable"], [_decorator.bound, 2, "setShowLoading"], [_decorator.bound, 2, "setCommonColors"], [_decorator.bound, 2, "log"], [_decorator.bound, 2, "_handleContentDistributionUpdated"]], []).e, 3);
404
+ _init__screenShareScalcValue = _applyDecs$e[0];
405
+ _init_isSharingWhiteboard = _applyDecs$e[1];
406
+ _initProto = _applyDecs$e[2];
407
+ var SecondaryWindowStoreContext = exports.SecondaryWindowStoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -0,0 +1,110 @@
1
+ import { FcrConnectionState, FcrUserInfo } from 'fcr-core/lib/type';
2
+ import { FcrUIVideoWindowData, FcrUIVideoWindowLayoutType } from '../layout/type';
3
+ import { FcrBoardShape, FcrBoardToolType } from 'fcr-core/lib/room-control/whiteboard-control/enums';
4
+ import { FcrImageData } from 'fcr-core/lib/imports';
5
+ export declare enum FcrUIDisplayDistributionContentType {
6
+ GALLERY = "gallery",
7
+ SPEAKER = "speaker",
8
+ LOCAL_CAMERA = "local-camera",
9
+ REMOTE_CAMERA = "remote-camera",
10
+ SHARING_SCREEN = "sharing-screen",
11
+ SHARING_SCREEN_WITH_ANNOTATION = "sharing-screen-with-annotation",
12
+ SHARING_WHITEBOARD = "sharing-whiteboard",
13
+ HIDDEN = "hidden"
14
+ }
15
+ export declare const enum FcrUIDisplayDistributionParticipants {
16
+ ALL = "all",
17
+ SELF = "self",
18
+ OTHER = "other",
19
+ OTHERS = "others"
20
+ }
21
+ export type SharingType = undefined | `${FcrUIDisplayDistributionContentType.SHARING_SCREEN | FcrUIDisplayDistributionContentType.SHARING_SCREEN_WITH_ANNOTATION | FcrUIDisplayDistributionContentType.SHARING_WHITEBOARD}`;
22
+ export type FcrUIDisplayState = {
23
+ /** 当前房间内参会人数 */
24
+ participantCount: number;
25
+ /** 主窗口的布局模式 */
26
+ layoutMode: FcrUIVideoWindowLayoutType;
27
+ /** 是否有共享在进行中 */
28
+ isSharing: boolean;
29
+ /** 是否自己在共享 */
30
+ sharingBySelf: boolean;
31
+ /** 共享类型 */
32
+ sharingType: SharingType;
33
+ /** 共享流的 ID */
34
+ sharingStreamId: string;
35
+ /** 是否有白板在进行中 */
36
+ isSharingBoard: boolean;
37
+ /** 是否有屏幕共享在进行中 */
38
+ isSharingScreen: boolean;
39
+ /** 远端摄像头流 ID */
40
+ otherStreamId?: string;
41
+ /** 副屏窗口模式是否开启:
42
+ * electron 环境下,并且显示器数量大于 1,并且在设置中勾选了双屏显示时为 true: 开启副屏模式。
43
+ * 非 electron 环境下,或者显示器数量为 1,或者是没有在设置中勾选双屏显示时为 false: 关闭副屏模式。
44
+ */
45
+ isSecondaryWindowModeEnabled: boolean;
46
+ };
47
+ export type FcrUIDisplayWindowContent = {
48
+ /** 窗口内容类型 */
49
+ type: `${FcrUIDisplayDistributionContentType}`;
50
+ /** 窗口需要显示的参会者 */
51
+ participants?: FcrUIDisplayDistributionParticipants;
52
+ /** 共享内容ID:type = sharing-screen 时为屏幕共享 streamId,type = other 时为对方 streamId */
53
+ content?: string;
54
+ };
55
+ export interface FcrUIDisplayContentDistribution {
56
+ mainWindow: FcrUIDisplayWindowContent;
57
+ secondaryWindow: FcrUIDisplayWindowContent;
58
+ }
59
+ export type FcrUIMultiDisplayObserver = {
60
+ /** 内容分配策略变更 */
61
+ onContentDistributionUpdated?: (distribution: FcrUIDisplayContentDistribution) => void;
62
+ /** 显示数量变更 */
63
+ onDisplayCountUpdated?: (count: number) => void;
64
+ };
65
+ export type FcrUIMainWindowRendererObserver = {
66
+ onBackgroundColorUpdated?: (color: string) => void;
67
+ onSharingUserUpdated?: (userInfo: FcrUserInfo) => void;
68
+ onPermissionUpdated?: (hasWriteBoardPermission: boolean) => void;
69
+ onWhiteboardToolSelected?: (tool: {
70
+ action: WhiteboardToolAction;
71
+ tool: FcrBoardToolType | FcrBoardShape | string | number;
72
+ }) => void;
73
+ onUndoStepsUpdated?: (steps: boolean) => void;
74
+ onRedoStepsUpdated?: (steps: boolean) => void;
75
+ onConnectionStateUpdated?: (state: FcrConnectionState) => void;
76
+ onSaveDraft?: () => void;
77
+ onDraftSaved?: (image: FcrImageData) => void;
78
+ onWhiteboardInActive?: () => void;
79
+ };
80
+ export interface FcrUIMainWindowRenderer {
81
+ get ownerUser(): FcrUserInfo | undefined;
82
+ get backgroundColor(): string;
83
+ get hasWriteBoardPermission(): boolean;
84
+ notifyObservers(event: 'onSharingUserUpdated', userInfo: FcrUserInfo): void;
85
+ notifyObservers(event: 'onBackgroundColorUpdated', color: string): void;
86
+ notifyObservers(event: 'onWhiteboardToolSelected', tool: {
87
+ action: WhiteboardToolAction;
88
+ tool: FcrBoardToolType | FcrBoardShape | string | number;
89
+ }): void;
90
+ notifyObservers(event: 'onConnectionStateUpdated', state: FcrConnectionState): void;
91
+ notifyObservers(event: 'onUndoStepsUpdated'): void;
92
+ notifyObservers(event: 'onRedoStepsUpdated'): void;
93
+ notifyObservers(event: 'onPermissionUpdated', hasWriteBoardPermission: boolean): void;
94
+ notifyObservers(event: 'onSaveDraft'): void;
95
+ notifyObservers(event: 'onWhiteboardInActive'): void;
96
+ notifyObservers(event: 'onDraftSaved', image: FcrImageData): void;
97
+ addObserver(observer: FcrUIMainWindowRendererObserver): void;
98
+ removeObserver(observer: FcrUIMainWindowRendererObserver): void;
99
+ removeAllObservers(): void;
100
+ }
101
+ export type VideoWindowDataReturn<T extends `${FcrUIDisplayDistributionContentType}`> = T extends `${FcrUIDisplayDistributionContentType.HIDDEN}` ? undefined : FcrUIVideoWindowData;
102
+ export declare enum WhiteboardToolAction {
103
+ CLEAR = "clear",
104
+ UNDO = "undo",
105
+ REDO = "redo",
106
+ SHAPE = "shape",
107
+ COLOR = "color",
108
+ WIDTH = "width",
109
+ TOOL = "tool"
110
+ }
@@ -0,0 +1,35 @@
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.WhiteboardToolAction = exports.FcrUIDisplayDistributionParticipants = exports.FcrUIDisplayDistributionContentType = void 0;
8
+ var FcrUIDisplayDistributionContentType = exports.FcrUIDisplayDistributionContentType = /*#__PURE__*/function (FcrUIDisplayDistributionContentType) {
9
+ FcrUIDisplayDistributionContentType["GALLERY"] = "gallery";
10
+ FcrUIDisplayDistributionContentType["SPEAKER"] = "speaker";
11
+ FcrUIDisplayDistributionContentType["LOCAL_CAMERA"] = "local-camera";
12
+ FcrUIDisplayDistributionContentType["REMOTE_CAMERA"] = "remote-camera";
13
+ FcrUIDisplayDistributionContentType["SHARING_SCREEN"] = "sharing-screen";
14
+ FcrUIDisplayDistributionContentType["SHARING_SCREEN_WITH_ANNOTATION"] = "sharing-screen-with-annotation";
15
+ FcrUIDisplayDistributionContentType["SHARING_WHITEBOARD"] = "sharing-whiteboard";
16
+ FcrUIDisplayDistributionContentType["HIDDEN"] = "hidden";
17
+ return FcrUIDisplayDistributionContentType;
18
+ }({});
19
+ var FcrUIDisplayDistributionParticipants = exports.FcrUIDisplayDistributionParticipants = /*#__PURE__*/function (FcrUIDisplayDistributionParticipants) {
20
+ FcrUIDisplayDistributionParticipants["ALL"] = "all";
21
+ FcrUIDisplayDistributionParticipants["SELF"] = "self";
22
+ FcrUIDisplayDistributionParticipants["OTHER"] = "other";
23
+ FcrUIDisplayDistributionParticipants["OTHERS"] = "others";
24
+ return FcrUIDisplayDistributionParticipants;
25
+ }({});
26
+ var WhiteboardToolAction = exports.WhiteboardToolAction = /*#__PURE__*/function (WhiteboardToolAction) {
27
+ WhiteboardToolAction["CLEAR"] = "clear";
28
+ WhiteboardToolAction["UNDO"] = "undo";
29
+ WhiteboardToolAction["REDO"] = "redo";
30
+ WhiteboardToolAction["SHAPE"] = "shape";
31
+ WhiteboardToolAction["COLOR"] = "color";
32
+ WhiteboardToolAction["WIDTH"] = "width";
33
+ WhiteboardToolAction["TOOL"] = "tool";
34
+ return WhiteboardToolAction;
35
+ }({});
@@ -0,0 +1,6 @@
1
+ import { FcrScreenShareControlBarProps } from '../share-screen/components/control-bar';
2
+ type SubWindowViewProps = {
3
+ renderScreenShareControl: (secondaryWindowProprs: FcrScreenShareControlBarProps['secondaryWindowProprs']) => React.ReactNode;
4
+ };
5
+ export declare const SubWindowView: React.FC<SubWindowViewProps>;
6
+ export {};