fcr-ui-scene 3.7.2 → 3.7.4

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
@@ -1,5 +1,24 @@
1
1
  import { FcrRoomConnectorType, FcrVideoSourceType } from 'fcr-core';
2
+ import { FcrMainRoomControl } from 'fcr-core/lib/room-control/type';
2
3
  import { FcrUserRole } from 'fcr-core/lib/type';
4
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
5
+ import { FcrUIChatProvider } from '../../providers/chat-provider';
6
+ import { FcrUIDeviceProvider } from '../../providers/device-provider';
7
+ import { FcrUIEventProvider } from '../../providers/event-provider';
8
+ import { FcrUIInterpreterProvider } from '../../providers/interpreter-provider';
9
+ import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
10
+ import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
11
+ import { FcrUISharedAnnotationSource } from '../../shared-data-source/annotation-data';
12
+ import { FcrUISharedConfigDataSource } from '../../shared-data-source/config';
13
+ import { FcrUISharedInterpreterDataSource } from '../../shared-data-source/interpreter';
14
+ import { FcrUISharedLayoutDataSource } from '../../shared-data-source/layout-data';
15
+ import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
16
+ import { FcrUISharedPinDataSource } from '../../shared-data-source/pin-data';
17
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
18
+ import { FcrUISharedSettingDataSource } from '../../shared-data-source/setting';
19
+ import { FcrUISharedSpeakerSpotlightDataSource } from '../../shared-data-source/speaker-spotlight';
20
+ import { FcrUIVideoWindowDataSource } from '../../shared-data-source/video-window';
21
+ import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
3
22
  export declare enum FcrUIVideoWindowLayoutType {
4
23
  /** Show a carousel on top and a big video on the rest of the screen. */
5
24
  Speaker = "speaker",
@@ -76,3 +95,39 @@ export declare enum FcrUILayoutType {
76
95
  */
77
96
  GALLERY = "gallery"
78
97
  }
98
+ export interface FcrLayoutSlots {
99
+ participant: React.ReactNode;
100
+ chat: React.ReactNode;
101
+ chatAction: React.ReactNode;
102
+ stateBar: React.ReactNode;
103
+ actionBar: React.ReactNode;
104
+ layers: React.ReactNode;
105
+ whiteboard: React.ReactNode;
106
+ annotation: React.ReactNode;
107
+ screenShareControl: React.ReactNode;
108
+ }
109
+ export interface FcrUILayoutAsideContent {
110
+ participant: boolean;
111
+ chat: boolean;
112
+ }
113
+ export interface LayoutStoreParams {
114
+ eventProvider: FcrUIEventProvider;
115
+ deviceProvider: FcrUIDeviceProvider;
116
+ privilegeProvider: FcrUIPrivilegeProvider;
117
+ roomControl: FcrMainRoomControl;
118
+ sharedConfigDataSource: FcrUISharedConfigDataSource;
119
+ sharedSpeakerSpotlightDataSource: FcrUISharedSpeakerSpotlightDataSource;
120
+ sharedLayoutDataSource: FcrUISharedLayoutDataSource;
121
+ sharedInterpreterDataSource: FcrUISharedInterpreterDataSource;
122
+ sharedSettingDataSource: FcrUISharedSettingDataSource;
123
+ chatProvider: FcrUIChatProvider;
124
+ sharedVideoWindowDataSource: FcrUIVideoWindowDataSource;
125
+ sharedMemberDataSource: FcrUIMemberSharedDataSource;
126
+ screenShareProvider: FcrUIScreenShareProvider;
127
+ sharedPinDataSource: FcrUISharedPinDataSource;
128
+ annotationProvider: FcrUIAnnotationProvider;
129
+ sharedScreenShareDataSource: FcrUIScreenShareSharedDataSource;
130
+ interpreterProvider: FcrUIInterpreterProvider;
131
+ sharedAnnotationDataSource: FcrUISharedAnnotationSource;
132
+ multiDisplayProvider: FcrUIMultiDisplayProvider;
133
+ }
@@ -35,7 +35,6 @@ var Moveable = exports.Moveable = function Moveable(_ref) {
35
35
  setCurrentCoordinateY(y);
36
36
  };
37
37
  var handleResize = (0, _react.useCallback)(function () {
38
- console.log('window.innerWidth < currentCoordinateX', window.innerWidth < currentCoordinateX, window.innerWidth, currentCoordinateX);
39
38
  if (window.innerWidth < currentCoordinateX - rndRef.current) {
40
39
  setCurrentCoordinateX(0);
41
40
  }
@@ -43,7 +43,8 @@ var FcrParticipant = exports.FcrParticipant = function FcrParticipant(props) {
43
43
  _props$onParticipants = props.onParticipantsButtonClick,
44
44
  onParticipantsButtonClick = _props$onParticipants === void 0 ? function () {} : _props$onParticipants,
45
45
  _props$hideActions = props.hideActions,
46
- hideActions = _props$hideActions === void 0 ? [] : _props$hideActions;
46
+ hideActions = _props$hideActions === void 0 ? [] : _props$hideActions,
47
+ isLocalCameraInSecondaryWindow = props.isLocalCameraInSecondaryWindow;
47
48
  var userId = user.userId,
48
49
  _user$userName = user.userName,
49
50
  userName = _user$userName === void 0 ? '' : _user$userName,
@@ -117,7 +118,8 @@ var FcrParticipant = exports.FcrParticipant = function FcrParticipant(props) {
117
118
  hideActions: hideActions,
118
119
  hasPinnedStream: hasPinnedStream,
119
120
  onParticipantsButtonClick: onParticipantsButtonClick,
120
- user: user
121
+ user: user,
122
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
121
123
  })
122
124
  }),
123
125
  placement: "bottomRight",
@@ -51,7 +51,8 @@ var FcrParticipantsMoreActions = exports.FcrParticipantsMoreActions = function F
51
51
  var onParticipantsButtonClick = props.onParticipantsButtonClick,
52
52
  hasPinnedStream = props.hasPinnedStream,
53
53
  hideActions = props.hideActions,
54
- user = props.user;
54
+ user = props.user,
55
+ isLocalCameraInSecondaryWindow = props.isLocalCameraInSecondaryWindow;
55
56
  var isMe = user.isMe,
56
57
  userId = user.userId,
57
58
  hasVideo = user.hasVideo,
@@ -62,6 +63,17 @@ var FcrParticipantsMoreActions = exports.FcrParticipantsMoreActions = function F
62
63
  allowedOperations = user.allowedOperations;
63
64
  var cameraStateType = !hasVideo ? 'primary' : 'danger';
64
65
 
66
+ /**
67
+ * 如果当前用户的类型是 'meeting-system' 且没有视频流,则不显示固定选项。
68
+ * 如果当前用户是自己且摄像头的视频流显示在副窗口中,也不显示固定选项。
69
+ */
70
+ var isShowPinOption = true;
71
+ if (userType === 'meeting-system' && !hasVideo) {
72
+ isShowPinOption = false;
73
+ } else if (isMe && isLocalCameraInSecondaryWindow) {
74
+ isShowPinOption = false;
75
+ }
76
+
65
77
  // 定义所有操作菜单
66
78
  var allOperationMenu = [{
67
79
  icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_cameraState.CameraState, {
@@ -115,7 +127,7 @@ var FcrParticipantsMoreActions = exports.FcrParticipantsMoreActions = function F
115
127
  }) : hasPinnedStream ? (0, _i18next.t)('fmt_attendies_options_replacefixed') : (0, _i18next.t)('fmt_attendies_options_fixfirst'),
116
128
  key: 'pin',
117
129
  type: isPin ? 'danger' : 'primary',
118
- canOperation: userType === 'normal' || userType === 'phone' || userType === 'meeting-system' && hasVideo,
130
+ canOperation: isShowPinOption,
119
131
  onButtonClick: handleButtonClick(isPin ? _types.ParticipantActionType.REMOVE_PIN : _types.ParticipantActionType.ADD_PIN, userId, onParticipantsButtonClick),
120
132
  group: 'own_view'
121
133
  }, {
@@ -2,4 +2,4 @@ import { ListRowProps } from 'react-virtualized';
2
2
  import { CellMeasurerCache } from 'react-virtualized/dist/es/CellMeasurer';
3
3
  import { ParticipantActionType, User } from '../../../../types';
4
4
  export declare const cache: CellMeasurerCache;
5
- export declare const userRowRenderer: (userList: User[], userRenderer: ((user: User) => React.ReactNode) | undefined, hasPinnedStream: boolean, toggleParticipantAction: ((action: ParticipantActionType, userId: string) => void) | undefined) => (renderProps: ListRowProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const userRowRenderer: (userList: User[], userRenderer: ((user: User) => React.ReactNode) | undefined, hasPinnedStream: boolean, toggleParticipantAction: ((action: ParticipantActionType, userId: string) => void) | undefined, isLocalCameraInSecondaryWindow: boolean) => (renderProps: ListRowProps) => import("react/jsx-runtime").JSX.Element;
@@ -37,7 +37,7 @@ var cache = exports.cache = new _CellMeasurer.CellMeasurerCache({
37
37
  fixedWidth: true,
38
38
  defaultHeight: 52
39
39
  });
40
- var userRowRenderer = exports.userRowRenderer = function userRowRenderer(userList, userRenderer, hasPinnedStream, toggleParticipantAction) {
40
+ var userRowRenderer = exports.userRowRenderer = function userRowRenderer(userList, userRenderer, hasPinnedStream, toggleParticipantAction, isLocalCameraInSecondaryWindow) {
41
41
  return function (renderProps) {
42
42
  var key = renderProps.key,
43
43
  parent = renderProps.parent,
@@ -58,7 +58,8 @@ var userRowRenderer = exports.userRowRenderer = function userRowRenderer(userLis
58
58
  children: userRenderer ? userRenderer(userList[index]) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_attendee.FcrParticipant, {
59
59
  hasPinnedStream: hasPinnedStream,
60
60
  user: userList[index],
61
- onParticipantsButtonClick: toggleParticipantAction
61
+ onParticipantsButtonClick: toggleParticipantAction,
62
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
62
63
  })
63
64
  });
64
65
  }
@@ -45,7 +45,8 @@ var FcrParticipants = exports.FcrParticipants = function FcrParticipants(props)
45
45
  toggleRoomControlAction = _props.toggleRoomControlAction,
46
46
  footer = _props.footer,
47
47
  header = _props.header,
48
- hasInvite = _props.hasInvite;
48
+ hasInvite = _props.hasInvite,
49
+ isLocalCameraInSecondaryWindow = _props.isLocalCameraInSecondaryWindow;
49
50
 
50
51
  // 使用 useMemo 初始化 value 状态
51
52
  var _useState = (0, _react.useState)((0, _react.useMemo)(function () {
@@ -107,7 +108,7 @@ var FcrParticipants = exports.FcrParticipants = function FcrParticipants(props)
107
108
  height: height,
108
109
  rowCount: userList.length,
109
110
  rowHeight: _userRow.cache.rowHeight,
110
- rowRenderer: (0, _userRow.userRowRenderer)(userList, userRenderer, hasPinnedStream, toggleParticipantAction)
111
+ rowRenderer: (0, _userRow.userRowRenderer)(userList, userRenderer, hasPinnedStream, toggleParticipantAction, isLocalCameraInSecondaryWindow)
111
112
  });
112
113
  }
113
114
  })]
@@ -7,6 +7,7 @@ interface MoreActionsPopoverPropsType {
7
7
  user: User;
8
8
  waitingRoomParticipateActionsNeedHiden: string[];
9
9
  mainRoomParticipateActionsNeedHiden: string[];
10
+ isLocalCameraInSecondaryWindow: boolean;
10
11
  }
11
12
  export declare const MoreActionsPopover: (props: MoreActionsPopoverPropsType) => import("react/jsx-runtime").JSX.Element;
12
13
  export {};
@@ -23,7 +23,8 @@ var MoreActionsPopover = exports.MoreActionsPopover = function MoreActionsPopove
23
23
  handleMoreActionsClick = props.handleMoreActionsClick,
24
24
  waitingRoomParticipateActionsNeedHiden = props.waitingRoomParticipateActionsNeedHiden,
25
25
  mainRoomParticipateActionsNeedHiden = props.mainRoomParticipateActionsNeedHiden,
26
- user = props.user;
26
+ user = props.user,
27
+ isLocalCameraInSecondaryWindow = props.isLocalCameraInSecondaryWindow;
27
28
  var _useContext = (0, _react.useContext)(_store.StoreContext),
28
29
  activeTab = _useContext.activeTab,
29
30
  hasPinnedStream = _useContext.hasPinnedStream;
@@ -57,6 +58,7 @@ var MoreActionsPopover = exports.MoreActionsPopover = function MoreActionsPopove
57
58
  onParticipantsButtonClick: handleMoreActionsClick,
58
59
  user: user,
59
60
  hasPinnedStream: hasPinnedStream,
61
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow,
60
62
  hideActions: activeTab === _type2.FcrUIRoomType.MAIN_ROOM ? mainRoomParticipateActionsNeedHiden : waitingRoomParticipateActionsNeedHiden
61
63
  })
62
64
  }),
@@ -20,7 +20,8 @@ var _type = require("../../../../../../../../type");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  var waitingRoomParticipateActionsNeedHiden = ['start_video', 'request_start_video', 'stop_video', 'pin', 'set_as_host', 'set_as_co_host', 'revoke_co_host', 'merge_video', 'put_into_waiting_room'];
22
22
  var UserActions = exports.UserActions = function UserActions(props) {
23
- var user = props.user;
23
+ var user = props.user,
24
+ isLocalCameraInSecondaryWindow = props.isLocalCameraInSecondaryWindow;
24
25
  var _useContext = (0, _react.useContext)(_store.StoreContext),
25
26
  activeTab = _useContext.activeTab,
26
27
  hasMutePermission = _useContext.hasMutePermission,
@@ -69,7 +70,8 @@ var UserActions = exports.UserActions = function UserActions(props) {
69
70
  setIsShowDropMenu(false);
70
71
  },
71
72
  waitingRoomParticipateActionsNeedHiden: waitingRoomParticipateActionsNeedHiden,
72
- mainRoomParticipateActionsNeedHiden: mainRoomParticipateActionsNeedHiden
73
+ mainRoomParticipateActionsNeedHiden: mainRoomParticipateActionsNeedHiden,
74
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
73
75
  })]
74
76
  });
75
77
  };
@@ -1,5 +1,7 @@
1
1
  import { User } from '../../types';
2
- declare const RenderUser: ({ user }: {
2
+ type RenderUserProps = {
3
3
  user: User;
4
- }) => import("react/jsx-runtime").JSX.Element;
4
+ isLocalCameraInSecondaryWindow: boolean;
5
+ };
6
+ declare const RenderUser: React.FC<RenderUserProps>;
5
7
  export default RenderUser;
@@ -9,12 +9,14 @@ var _mobxReact = require("mobx-react");
9
9
  var _attendee = require("./components/attendee");
10
10
  var _userAction = require("./components/user-action");
11
11
  var _jsxRuntime = require("react/jsx-runtime");
12
- var RenderUser = (0, _mobxReact.observer)(function (_ref) {
13
- var user = _ref.user;
12
+ var RenderUser = (0, _mobxReact.observer)(function (props) {
13
+ var user = props.user,
14
+ isLocalCameraInSecondaryWindow = props.isLocalCameraInSecondaryWindow;
14
15
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_attendee.ParticipantAttendee, {
15
16
  user: user,
16
17
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_userAction.UserActions, {
17
- user: user
18
+ user: user,
19
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
18
20
  })
19
21
  });
20
22
  });
@@ -34,7 +34,8 @@ var ParticipantsContainer = (0, _mobxReact.observer)(function () {
34
34
  isLocalUserHost = _useContext.isLocalUserHost,
35
35
  openMuteAllDialog = _useContext.openMuteAllDialog,
36
36
  handlerRoomControlAction = _useContext.handlerRoomControlAction,
37
- hasInvite = _useContext.hasInvite;
37
+ hasInvite = _useContext.hasInvite,
38
+ isLocalCameraInSecondaryWindow = _useContext.isLocalCameraInSecondaryWindow;
38
39
  var dialogStore = (0, _react.useContext)(_store.StoreContext);
39
40
  var handlerRoomControlClick = function handlerRoomControlClick(action, userId) {
40
41
  if (action === _constant.FcrUIRoomControlType.MUTE_ALL_AUDIO) {
@@ -59,9 +60,11 @@ var ParticipantsContainer = (0, _mobxReact.observer)(function () {
59
60
  hasInvite: hasInvite,
60
61
  hasPinnedStream: hasPinnedStream,
61
62
  toggleParticipantAction: handlerUserAction,
63
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow,
62
64
  userRenderer: function userRenderer(user) {
63
65
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_renderUser["default"], {
64
- user: user
66
+ user: user,
67
+ isLocalCameraInSecondaryWindow: isLocalCameraInSecondaryWindow
65
68
  });
66
69
  },
67
70
  footer: /*#__PURE__*/(0, _jsxRuntime.jsx)(_footer["default"], {
@@ -10,6 +10,7 @@ export interface ParticipantProps {
10
10
  searchText?: string;
11
11
  onInvite?: () => void;
12
12
  hasPinnedStream: boolean;
13
+ isLocalCameraInSecondaryWindow: boolean;
13
14
  hasInvite: boolean;
14
15
  }
15
16
  export interface User {
@@ -66,6 +67,7 @@ export interface ParticipantsMoreActionsProps {
66
67
  onParticipantsButtonClick: (action: ParticipantActionType, userId: string) => void;
67
68
  hasPinnedStream: boolean;
68
69
  hideActions: string[];
70
+ isLocalCameraInSecondaryWindow: boolean;
69
71
  }
70
72
  export interface IFcrParticipantItemProps {
71
73
  user: User;
@@ -94,4 +96,5 @@ export interface ParticipantsFooterParticipantProps {
94
96
  }
95
97
  export interface UserActionsPropsType {
96
98
  user: User;
99
+ isLocalCameraInSecondaryWindow: boolean;
97
100
  }
@@ -23,6 +23,7 @@ import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
23
23
  import { FcrUIMessageProvider } from '../../providers/message-provider';
24
24
  import { FcrUISecuritySharedDataSource } from '../../shared-data-source/security-data';
25
25
  import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
26
+ import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
26
27
  export declare class ParticipantUIModule extends UIModule {
27
28
  private _store;
28
29
  deviceStreamProvider?: FcrUIDeviceStreamProvider;
@@ -48,6 +49,7 @@ export declare class ParticipantUIModule extends UIModule {
48
49
  abilityProvider?: FcrUIAbilityProviderImpl;
49
50
  sharedSecuritySharedDataSource?: FcrUISecuritySharedDataSource;
50
51
  sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
52
+ multiDisplayProvider?: FcrUIMultiDisplayProvider;
51
53
  onNodeWillActive(): void;
52
54
  onNodeWillInactive(): void;
53
55
  getComponent(): import("react/jsx-runtime").JSX.Element;
@@ -85,7 +85,8 @@ var ParticipantUIModule = exports.ParticipantUIModule = /*#__PURE__*/function (_
85
85
  abilityProvider: this.abilityProvider,
86
86
  messageProvider: this.messageProvider,
87
87
  sharedSecuritySharedDataSource: this.sharedSecuritySharedDataSource,
88
- sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource
88
+ sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource,
89
+ multiDisplayProvider: this.multiDisplayProvider
89
90
  });
90
91
  }
91
92
  }, {
@@ -66,8 +66,6 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
66
66
  var _mobx = require("mobx");
67
67
  var _type = require("./type");
68
68
  var _type2 = require("fcr-core/lib/type");
69
- var _type3 = require("agora-rte-sdk/lib/core/rtc/type");
70
- var _type4 = require("agora-rte-sdk/lib/core/scene/type");
71
69
  var _FcrUIMemberListDataSourceImpl;
72
70
  var _initProto, _init_list, _resetListDecs, _addDecs, _updateStreamInfoDecs, _updateUserInfoDecs, _updateWithStreamAddDecs, _updateWithStreamRemoveDecs, _deleteDecs, _clearAllUserBoardStateDecs, _insertEndByPriorityDecs, _ref;
73
71
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -138,10 +136,10 @@ var FcrUIMemberDataImpl = exports.FcrUIMemberDataImpl = /*#__PURE__*/function ()
138
136
  return _type.FcrUIMemberSortingPriority.CO_HOST;
139
137
  }
140
138
  var cameraStream = this.streams.find(function (s) {
141
- return s.videoSourceType === _type3.AgoraRtcVideoSourceType.CAMERA;
139
+ return s.videoSourceType === _type2.FcrVideoSourceType.CAMERA;
142
140
  });
143
- var cameraOpen = (cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.videoSourceState) === _type3.AgoraRtcMediaSourceState.OPEN && ((cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.streamType) === _type4.AgoraRteMediaStreamType.VIDEO || (cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.streamType) === _type4.AgoraRteMediaStreamType.BOTH);
144
- var microphoneOpen = (cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.audioSourceState) === _type3.AgoraRtcMediaSourceState.OPEN && ((cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.streamType) === _type4.AgoraRteMediaStreamType.AUDIO || (cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.streamType) === _type4.AgoraRteMediaStreamType.BOTH);
141
+ var cameraOpen = (cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.videoSourceState) === _type2.FcrMediaSourceState.OPEN && ((cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.streamType) === _type2.FcrStreamType.VIDEO || (cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.streamType) === _type2.FcrStreamType.BOTH);
142
+ var microphoneOpen = (cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.audioSourceState) === _type2.FcrMediaSourceState.OPEN && ((cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.streamType) === _type2.FcrStreamType.AUDIO || (cameraStream === null || cameraStream === void 0 ? void 0 : cameraStream.streamType) === _type2.FcrStreamType.BOTH);
145
143
  if (cameraOpen && microphoneOpen) {
146
144
  return _type.FcrUIMemberSortingPriority.BOTH_OPEN;
147
145
  }
@@ -30,6 +30,7 @@ import { FcrUIAbilityProviderImpl } from '../../providers/ability-provider';
30
30
  import { FcrUISecuritySharedDataSource } from '../../shared-data-source/security-data';
31
31
  import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
32
32
  import { User } from './components/participants/types';
33
+ import { FcrUIMultiDisplayProvider } from '../../providers/multi-display-provider';
33
34
  export default class ParticipantStore {
34
35
  protected logger: import("agora-foundation/lib/logger").Logger;
35
36
  private _roomStore;
@@ -59,6 +60,7 @@ export default class ParticipantStore {
59
60
  private _sharedMemberDataSource;
60
61
  private _sharedChatDataSource;
61
62
  private _sharedScreenShareSharedDataSource;
63
+ private _multiDisplayProvider;
62
64
  private _peerSessionObserver;
63
65
  private _dialogProvider;
64
66
  private _abilityProvider;
@@ -115,10 +117,11 @@ export default class ParticipantStore {
115
117
  get isInterpreterEnabled(): boolean;
116
118
  get waitingRoomUserCount(): number;
117
119
  get isNewWaitingRoomUserEnter(): boolean;
120
+ get isLocalCameraInSecondaryWindow(): boolean;
118
121
  get isHostKeyEnabled(): boolean;
119
122
  get hasInvite(): boolean;
120
123
  get checkedStateMap(): import("../../shared-data-source/security-data").FcrSecurityCheckedStateType;
121
- constructor({ roomControl, securityStore, uiEventStore, deviceStore, deviceStreamStore, roomStore, sessionProvider, sharedSpeakerSpotlightDataSource, sharedPinDataSource, sharedLayoutDataSource, sharedInterpreterDataSource, sharedSettingDataSource, sharedWaitingRoomDataSource, chatProvider, sharedVideoWindowDataSource, sharedMemberDataSource, sharedChatDataSource, dialogProvider, abilityProvider, messageProvider, sharedSecuritySharedDataSource, sharedScreenShareSharedDataSource, }: {
124
+ constructor({ roomControl, securityStore, uiEventStore, deviceStore, deviceStreamStore, roomStore, sessionProvider, sharedSpeakerSpotlightDataSource, sharedPinDataSource, sharedLayoutDataSource, sharedInterpreterDataSource, sharedSettingDataSource, sharedWaitingRoomDataSource, chatProvider, sharedVideoWindowDataSource, sharedMemberDataSource, sharedChatDataSource, dialogProvider, abilityProvider, messageProvider, sharedSecuritySharedDataSource, sharedScreenShareSharedDataSource, multiDisplayProvider, }: {
122
125
  roomControl: FcrMainRoomControl;
123
126
  securityStore: FcrUIPrivilegeProvider;
124
127
  uiEventStore: FcrUIEventProvider;
@@ -141,6 +144,7 @@ export default class ParticipantStore {
141
144
  messageProvider: FcrUIMessageProvider;
142
145
  sharedSecuritySharedDataSource: FcrUISecuritySharedDataSource;
143
146
  sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
147
+ multiDisplayProvider: FcrUIMultiDisplayProvider;
144
148
  });
145
149
  release(): void;
146
150
  allowedOperations: (userId: string, userRole: FcrUserRole) => string[];