fcr-ui-scene 3.7.1 → 3.7.3

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 (248) hide show
  1. package/lib/creator.js +23 -44
  2. package/lib/electron/app.js +7 -0
  3. package/lib/electron/injections.d.ts +1 -1
  4. package/lib/electron/injections.js +5 -3
  5. package/lib/electron/main.js +3 -1
  6. package/lib/fragments/annotation/index.d.ts +1 -0
  7. package/lib/fragments/annotation/index.js +13 -7
  8. package/lib/fragments/annotation/store.d.ts +8 -4
  9. package/lib/fragments/annotation/store.js +353 -268
  10. package/lib/fragments/annotation/toolbar/components/color-tool/index.js +4 -0
  11. package/lib/fragments/annotation/toolbar/components/graphic-tool/index.js +4 -0
  12. package/lib/fragments/annotation/toolbar/components/item/item.d.ts +2 -0
  13. package/lib/fragments/annotation/toolbar/components/item/item.js +2 -4
  14. package/lib/fragments/annotation/toolbar/components/item/style.css +4 -2
  15. package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +4 -0
  16. package/lib/fragments/annotation/utils.d.ts +1 -0
  17. package/lib/fragments/annotation/utils.js +27 -0
  18. package/lib/fragments/annotation/view.js +1 -6
  19. package/lib/fragments/base.js +5 -3
  20. package/lib/fragments/whiteboard/cursor.css +77 -0
  21. package/lib/fragments/whiteboard/index.d.ts +11 -0
  22. package/lib/fragments/whiteboard/index.js +91 -0
  23. package/lib/fragments/whiteboard/store.d.ts +31 -0
  24. package/lib/fragments/whiteboard/store.js +475 -0
  25. package/lib/fragments/whiteboard/style.css +4 -0
  26. package/lib/fragments/whiteboard/view.d.ts +4 -0
  27. package/lib/fragments/whiteboard/view.js +31 -0
  28. package/lib/index.d.ts +1 -0
  29. package/lib/index.js +1 -0
  30. package/lib/modules/action-bar/components/apps/index.js +15 -5
  31. package/lib/modules/action-bar/components/leave/index.js +4 -11
  32. package/lib/modules/action-bar/view.d.ts +1 -0
  33. package/lib/modules/action-bar/view.js +3 -2
  34. package/lib/modules/annotation/annotation-toolbar-store.d.ts +4 -11
  35. package/lib/modules/annotation/annotation-toolbar-store.js +46 -88
  36. package/lib/modules/annotation/board-cursor.css +2 -1
  37. package/lib/modules/annotation/index.d.ts +2 -0
  38. package/lib/modules/annotation/index.js +2 -2
  39. package/lib/modules/annotation/store.d.ts +11 -49
  40. package/lib/modules/annotation/store.js +135 -418
  41. package/lib/modules/annotation/view.js +3 -6
  42. package/lib/modules/components/control-bar/components/loading/index.css +76 -0
  43. package/lib/modules/components/control-bar/components/loading/index.d.ts +8 -0
  44. package/lib/modules/components/control-bar/components/loading/index.js +64 -0
  45. package/lib/modules/components/control-bar/components/loading/loading.png +0 -0
  46. package/lib/modules/components/control-bar/components/progress/index.d.ts +5 -0
  47. package/lib/modules/components/control-bar/components/progress/index.js +43 -0
  48. package/lib/modules/components/control-bar/components/progress/style.css +51 -0
  49. package/lib/modules/components/control-bar/components/switch-theme/index.css +99 -0
  50. package/lib/modules/components/control-bar/components/switch-theme/index.d.ts +9 -0
  51. package/lib/modules/components/control-bar/components/switch-theme/index.js +94 -0
  52. package/lib/modules/components/control-bar/components/switch-theme/item.d.ts +9 -0
  53. package/lib/modules/components/control-bar/components/switch-theme/item.js +54 -0
  54. package/lib/modules/components/control-bar/components/switch-theme/libs.d.ts +4 -0
  55. package/lib/modules/components/control-bar/components/switch-theme/libs.js +31 -0
  56. package/lib/modules/components/control-bar/index.css +87 -0
  57. package/lib/modules/components/control-bar/index.d.ts +20 -0
  58. package/lib/modules/components/control-bar/index.js +276 -0
  59. package/lib/modules/components/leave-meeting/components/index.css +0 -9
  60. package/lib/modules/components/leave-meeting/index.d.ts +2 -1
  61. package/lib/modules/components/leave-meeting/index.js +15 -7
  62. package/lib/modules/components/leave-meeting/portal.d.ts +6 -0
  63. package/lib/modules/components/leave-meeting/portal.js +29 -0
  64. package/lib/modules/components/leave-meeting/style.css +9 -0
  65. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +5 -2
  66. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +19 -9
  67. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +4 -4
  68. package/lib/modules/components/member-window/components/member-actions/index.js +13 -6
  69. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +1 -0
  70. package/lib/modules/components/member-window/components/member-actions/provider.js +4 -3
  71. package/lib/modules/components/member-window/components/member-actions/store.d.ts +2 -1
  72. package/lib/modules/components/member-window/components/member-actions/store.js +5 -1
  73. package/lib/modules/components/member-window/index.css +4 -0
  74. package/lib/modules/components/member-window/types.d.ts +6 -2
  75. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +9 -0
  76. package/lib/modules/components/toolbar/components/capture-tool/index.js +68 -0
  77. package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +11 -0
  78. package/lib/modules/components/toolbar/components/clean-tool/index.js +71 -0
  79. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.d.ts +11 -0
  80. package/lib/modules/components/toolbar/components/color-tool/color-panel/index.js +77 -0
  81. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +14 -0
  82. package/lib/modules/components/toolbar/components/color-tool/index.js +66 -0
  83. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +11 -0
  84. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.js +64 -0
  85. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  86. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  87. package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +15 -0
  88. package/lib/modules/components/toolbar/components/graphic-tool/index.js +82 -0
  89. package/lib/modules/components/toolbar/components/group-tool/index.d.ts +5 -0
  90. package/lib/modules/components/toolbar/components/group-tool/index.js +43 -0
  91. package/lib/modules/components/toolbar/components/icons/fold-icon.d.ts +2 -0
  92. package/lib/modules/components/toolbar/components/icons/fold-icon.js +41 -0
  93. package/lib/modules/components/toolbar/components/icons/move-icon.d.ts +1 -0
  94. package/lib/modules/components/toolbar/components/icons/move-icon.js +66 -0
  95. package/lib/modules/components/toolbar/components/item/index.d.ts +25 -0
  96. package/lib/modules/components/toolbar/components/item/index.js +165 -0
  97. package/lib/modules/components/toolbar/components/item/style.css +94 -0
  98. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +12 -0
  99. package/lib/modules/components/toolbar/components/multiple-color-tool/index.js +75 -0
  100. package/lib/modules/components/toolbar/components/panel/index.d.ts +9 -0
  101. package/lib/modules/components/toolbar/components/panel/index.js +28 -0
  102. package/lib/modules/components/toolbar/components/panel/style.css +86 -0
  103. package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +13 -0
  104. package/lib/modules/components/toolbar/components/pen-tool/index.js +62 -0
  105. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.d.ts +8 -0
  106. package/lib/modules/components/toolbar/components/pen-tool/pen-panel/index.js +39 -0
  107. package/lib/modules/components/toolbar/components/save-draft/index.d.ts +7 -0
  108. package/lib/modules/components/toolbar/components/save-draft/index.js +59 -0
  109. package/lib/modules/components/toolbar/components/vertical-frame/index.d.ts +8 -0
  110. package/lib/modules/components/toolbar/components/vertical-frame/index.js +179 -0
  111. package/lib/modules/components/toolbar/hooks/use-resize-visible.d.ts +4 -0
  112. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +59 -0
  113. package/lib/modules/components/toolbar/index.d.ts +29 -0
  114. package/lib/modules/components/toolbar/index.js +258 -0
  115. package/lib/modules/components/toolbar/style.css +85 -0
  116. package/lib/modules/components/toolbar/types.d.ts +13 -0
  117. package/lib/modules/components/toolbar/types.js +6 -0
  118. package/lib/modules/control-bar/components/more-actions/index.js +0 -6
  119. package/lib/modules/control-bar/components/share-state-nav/index.js +3 -2
  120. package/lib/modules/control-bar/index.js +2 -1
  121. package/lib/modules/control-bar/store.d.ts +7 -6
  122. package/lib/modules/control-bar/store.js +28 -21
  123. package/lib/modules/control-bar/view.js +7 -55
  124. package/lib/modules/dialog/dialogs/control-bar/index.d.ts +1 -0
  125. package/lib/modules/dialog/dialogs/control-bar/index.js +17 -3
  126. package/lib/modules/dialog/dialogs/participant/components/title.js +1 -1
  127. package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -0
  128. package/lib/modules/dialog/dialogs/sub-window/index.js +98 -0
  129. package/lib/modules/dialog/dialogs/video-window/index.d.ts +1 -0
  130. package/lib/modules/dialog/dialogs/video-window/index.js +3 -2
  131. package/lib/modules/dialog/dialogs/whiteboard/index.js +0 -1
  132. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -2
  133. package/lib/modules/dialog/hooks/useElectron.d.ts +13 -0
  134. package/lib/modules/dialog/hooks/useElectron.js +62 -12
  135. package/lib/modules/dialog/index.d.ts +6 -3
  136. package/lib/modules/dialog/index.js +5 -3
  137. package/lib/modules/dialog/store.d.ts +21 -8
  138. package/lib/modules/dialog/store.js +79 -11
  139. package/lib/modules/dialog/type.d.ts +8 -0
  140. package/lib/modules/event-confirm/index.css +5 -2
  141. package/lib/modules/event-confirm/store.js +6 -7
  142. package/lib/modules/event-confirm/view.js +1 -1
  143. package/lib/modules/event-sound/index.d.ts +1 -0
  144. package/lib/modules/event-sound/index.js +11 -24
  145. package/lib/modules/invite/components/pstn-invite.js +0 -1
  146. package/lib/modules/layout/components/CommonVideoRenderer.js +21 -21
  147. package/lib/modules/layout/components/who-is-speaking.js +3 -6
  148. package/lib/modules/layout/index.d.ts +3 -1
  149. package/lib/modules/layout/index.js +2 -1
  150. package/lib/modules/layout/store.d.ts +9 -59
  151. package/lib/modules/layout/store.js +162 -37
  152. package/lib/modules/layout/type.d.ts +55 -0
  153. package/lib/modules/participant/components/can-moveable/index.js +0 -1
  154. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +4 -2
  155. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +14 -2
  156. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +1 -1
  157. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +3 -2
  158. package/lib/modules/participant/components/participants/components/participants/index.js +3 -2
  159. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +1 -0
  160. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +3 -1
  161. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +4 -2
  162. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +4 -2
  163. package/lib/modules/participant/components/participants/components/render-user/index.js +5 -3
  164. package/lib/modules/participant/components/participants/index.js +5 -2
  165. package/lib/modules/participant/components/participants/types.d.ts +3 -0
  166. package/lib/modules/participant/index.d.ts +2 -0
  167. package/lib/modules/participant/index.js +2 -1
  168. package/lib/modules/participant/store.d.ts +5 -1
  169. package/lib/modules/participant/store.js +8 -1
  170. package/lib/modules/secondary-window/index.d.ts +49 -0
  171. package/lib/modules/secondary-window/index.js +108 -0
  172. package/lib/modules/secondary-window/store.d.ts +76 -0
  173. package/lib/modules/secondary-window/store.js +407 -0
  174. package/lib/modules/secondary-window/type.d.ts +106 -0
  175. package/lib/modules/secondary-window/type.js +35 -0
  176. package/lib/modules/secondary-window/view.d.ts +6 -0
  177. package/lib/modules/secondary-window/view.js +257 -0
  178. package/lib/modules/setting/general-settings/general-settings.js +9 -0
  179. package/lib/modules/setting/state/index.js +0 -10
  180. package/lib/modules/setting/store.d.ts +1 -0
  181. package/lib/modules/setting/store.js +6 -3
  182. package/lib/modules/share-screen/components/control-bar/index.d.ts +14 -1
  183. package/lib/modules/share-screen/components/control-bar/index.js +17 -12
  184. package/lib/modules/share-screen/components/selection/index.js +10 -15
  185. package/lib/modules/share-screen/index.d.ts +4 -1
  186. package/lib/modules/share-screen/index.js +6 -3
  187. package/lib/modules/share-screen/store.d.ts +9 -9
  188. package/lib/modules/share-screen/store.js +39 -64
  189. package/lib/modules/state-bar/index.d.ts +2 -0
  190. package/lib/modules/state-bar/index.js +2 -1
  191. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  192. package/lib/modules/state-bar/store.d.ts +5 -2
  193. package/lib/modules/state-bar/store.js +14 -7
  194. package/lib/modules/state-bar/view.js +3 -3
  195. package/lib/modules/video-window/components/members/index.js +7 -12
  196. package/lib/modules/video-window/store.d.ts +1 -0
  197. package/lib/modules/video-window/store.js +5 -0
  198. package/lib/modules/whiteboard/components/toolbar/store.d.ts +2 -2
  199. package/lib/modules/whiteboard/index.d.ts +10 -13
  200. package/lib/modules/whiteboard/index.js +12 -11
  201. package/lib/providers/ability-provider.js +2 -0
  202. package/lib/providers/device-provider.d.ts +6 -3
  203. package/lib/providers/device-provider.js +336 -333
  204. package/lib/providers/multi-display-provider.d.ts +85 -0
  205. package/lib/providers/multi-display-provider.js +581 -0
  206. package/lib/providers/privilege-provider.js +1 -7
  207. package/lib/providers/room-provider.js +7 -1
  208. package/lib/providers/screen-share-provider.d.ts +3 -1
  209. package/lib/providers/screen-share-provider.js +39 -40
  210. package/lib/providers/sharing-provider.d.ts +7 -1
  211. package/lib/providers/sharing-provider.js +32 -3
  212. package/lib/providers/whiteboard-provider.d.ts +24 -0
  213. package/lib/providers/whiteboard-provider.js +127 -0
  214. package/lib/runtime.d.ts +1 -0
  215. package/lib/scenes/main-scene.d.ts +6 -0
  216. package/lib/scenes/main-scene.js +38 -2
  217. package/lib/scenes/waiting-scene.d.ts +0 -2
  218. package/lib/scenes/waiting-scene.js +0 -6
  219. package/lib/shared-data-source/member-data.d.ts +2 -2
  220. package/lib/shared-data-source/screen-share-data.d.ts +6 -0
  221. package/lib/shared-data-source/screen-share-data.js +5 -0
  222. package/lib/shared-data-source/setting.js +2 -1
  223. package/lib/shared-data-source/video-window.d.ts +2 -0
  224. package/lib/shared-data-source/video-window.js +19 -6
  225. package/lib/shared-data-source/whiteboard-data.d.ts +68 -0
  226. package/lib/shared-data-source/whiteboard-data.js +347 -0
  227. package/lib/translations/enUS.d.ts +1 -0
  228. package/lib/translations/enUS.js +2 -1
  229. package/lib/translations/zhCN.d.ts +1 -0
  230. package/lib/translations/zhCN.js +2 -1
  231. package/lib/ui-scene.d.ts +0 -1
  232. package/lib/ui-scene.js +0 -3
  233. package/lib/utilities/constant.d.ts +4 -2
  234. package/lib/utilities/constant.js +3 -1
  235. package/lib/utilities/debug.d.ts +4 -0
  236. package/lib/utilities/debug.js +40 -0
  237. package/lib/utilities/dialog-utils.js +26 -4
  238. package/lib/utilities/meeting-detail.js +4 -1
  239. package/lib/utilities/renderer-event.d.ts +4 -6
  240. package/lib/utilities/renderer-event.js +23 -43
  241. package/lib/utilities/renderer.d.ts +1 -1
  242. package/lib/utilities/renderer.js +44 -10
  243. package/lib/utilities/shared-storage.d.ts +18 -0
  244. package/lib/utilities/shared-storage.js +63 -0
  245. package/lib/utilities/tools.js +2 -1
  246. package/package.json +5 -6
  247. package/lib/electron/tools.d.ts +0 -5
  248. package/lib/electron/tools.js +0 -62
@@ -80,8 +80,9 @@ var _type6 = require("../../type");
80
80
  var _view = require("./view");
81
81
  var _logger = require("../../utilities/logger");
82
82
  var _env = require("agora-foundation/lib/utilities/env");
83
+ var _type7 = require("../secondary-window/type");
83
84
  var _LayoutStore;
84
- var _initProto, _participantDecs, _init_participant, _chatDecs, _init_chat, _chatActionDecs, _init_chatAction, _stateBarDecs, _init_stateBar, _actionBarDecs, _init_actionBar, _layersDecs, _init_layers, _whiteboardDecs, _init_whiteboard, _annotationDecs, _init_annotation, _screenShareControlDecs, _init_screenShareControl, _init_collapsed, _init_aside, _init_barHovering, _init_barLocked, _init_barHidden, _init_asideWidth, _init_userVolumeMap, _init_chatRoomState, _init_whiteboardActive, _init_ownerUser, _addPinMessageDecs, _cancelPinMessageDecs, _setWhiteboardActiveDecs, _setAsideWidthDecs, _updateSlotsDecs, _toggleLayoutDecs, _toggleCollapsedDecs, _toggleAsideDecs, _asideWidthChangedDecs, _toggleLayoutBarLockDecs, _toggleLayoutBarHiddenDecs, _resetLockTimerDecs, _setHoveringHandlerDecs, _setHoveringLeaveHandlerDecs, _setScreenShareSpeakerViewSizeDecs, _handleLiveLayoutChangeDecs, _onUserInfoUpdatedDecs, _handleLayoutUpdatedDecs, _init__handleLayoutUpdated, _handleFoldListChangedDecs, _handleMainListLengthChangedDecs, _handleMainListChangedDecs, _setBarHoveringDecs, _handleConnectionUpdatedDecs, _onAudioVolumeUpdatedDecs, _ref;
85
+ var _initProto, _participantDecs, _init_participant, _chatDecs, _init_chat, _chatActionDecs, _init_chatAction, _stateBarDecs, _init_stateBar, _actionBarDecs, _init_actionBar, _layersDecs, _init_layers, _whiteboardDecs, _init_whiteboard, _annotationDecs, _init_annotation, _screenShareControlDecs, _init_screenShareControl, _init_collapsed, _init_aside, _init_barHovering, _init_barLocked, _init_barHidden, _init_asideWidth, _init_userVolumeMap, _init_chatRoomState, _init_whiteboardActive, _init_ownerUser, _addPinMessageDecs, _cancelPinMessageDecs, _setWhiteboardActiveDecs, _setAsideWidthDecs, _updateSlotsDecs, _toggleLayoutDecs, _toggleCollapsedDecs, _toggleAsideDecs, _asideWidthChangedDecs, _toggleLayoutBarLockDecs, _toggleLayoutBarHiddenDecs, _resetLockTimerDecs, _setHoveringHandlerDecs, _setHoveringLeaveHandlerDecs, _setScreenShareSpeakerViewSizeDecs, _handleLiveLayoutChangeDecs, _onUserInfoUpdatedDecs, _handleLayoutUpdatedDecs, _init__handleLayoutUpdated, _handleFoldListChangedDecs, _handleMainListLengthChangedDecs, _handleMainListChangedDecs, _setBarHoveringDecs, _handleConnectionUpdatedDecs, _findVideoWindowByUserIdDecs, _onRemoteUsersLeftDecs, _onAudioVolumeUpdatedDecs, _ref;
85
86
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
86
87
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
87
88
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -111,7 +112,7 @@ var _P = /*#__PURE__*/new WeakMap();
111
112
  var _Q = /*#__PURE__*/new WeakMap();
112
113
  var _R = /*#__PURE__*/new WeakMap();
113
114
  var _S = /*#__PURE__*/new WeakMap();
114
- _ref = (_participantDecs = [_mobx.observable, _mobx.observable.ref], _chatDecs = [_mobx.observable, _mobx.observable.ref], _chatActionDecs = [_mobx.observable, _mobx.observable.ref], _stateBarDecs = [_mobx.observable, _mobx.observable.ref], _actionBarDecs = [_mobx.observable, _mobx.observable.ref], _layersDecs = [_mobx.observable, _mobx.observable.ref], _whiteboardDecs = [_mobx.observable, _mobx.observable.ref], _annotationDecs = [_mobx.observable, _mobx.observable.ref], _screenShareControlDecs = [_mobx.observable, _mobx.observable.ref], _addPinMessageDecs = [_mobx.action, _mobx.action.bound], _cancelPinMessageDecs = [_mobx.action, _mobx.action.bound], _setWhiteboardActiveDecs = [_mobx.action, _mobx.action.bound], _setAsideWidthDecs = [_mobx.action, _mobx.action.bound], _updateSlotsDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutDecs = [_mobx.action, _mobx.action.bound], _toggleCollapsedDecs = [_mobx.action, _mobx.action.bound], _toggleAsideDecs = [_mobx.action, _mobx.action.bound], _asideWidthChangedDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutBarLockDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutBarHiddenDecs = [_mobx.action, _mobx.action.bound], _resetLockTimerDecs = [_mobx.action, _mobx.action.bound], _setHoveringHandlerDecs = [_mobx.action, _mobx.action.bound], _setHoveringLeaveHandlerDecs = [_mobx.action, _mobx.action.bound], _setScreenShareSpeakerViewSizeDecs = [(0, _decorator.debounced)(400), _decorator.bound], _handleLiveLayoutChangeDecs = [_mobx.action, _mobx.action.bound], _onUserInfoUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleLayoutUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleFoldListChangedDecs = [_mobx.action, _mobx.action.bound], _handleMainListLengthChangedDecs = [_mobx.action, _mobx.action.bound], _handleMainListChangedDecs = [_mobx.action, _mobx.action.bound], _setBarHoveringDecs = [_mobx.action, _mobx.action.bound], _handleConnectionUpdatedDecs = [_mobx.action, _mobx.action.bound], _onAudioVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], "logger");
115
+ _ref = (_participantDecs = [_mobx.observable, _mobx.observable.ref], _chatDecs = [_mobx.observable, _mobx.observable.ref], _chatActionDecs = [_mobx.observable, _mobx.observable.ref], _stateBarDecs = [_mobx.observable, _mobx.observable.ref], _actionBarDecs = [_mobx.observable, _mobx.observable.ref], _layersDecs = [_mobx.observable, _mobx.observable.ref], _whiteboardDecs = [_mobx.observable, _mobx.observable.ref], _annotationDecs = [_mobx.observable, _mobx.observable.ref], _screenShareControlDecs = [_mobx.observable, _mobx.observable.ref], _addPinMessageDecs = [_mobx.action, _mobx.action.bound], _cancelPinMessageDecs = [_mobx.action, _mobx.action.bound], _setWhiteboardActiveDecs = [_mobx.action, _mobx.action.bound], _setAsideWidthDecs = [_mobx.action, _mobx.action.bound], _updateSlotsDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutDecs = [_mobx.action, _mobx.action.bound], _toggleCollapsedDecs = [_mobx.action, _mobx.action.bound], _toggleAsideDecs = [_mobx.action, _mobx.action.bound], _asideWidthChangedDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutBarLockDecs = [_mobx.action, _mobx.action.bound], _toggleLayoutBarHiddenDecs = [_mobx.action, _mobx.action.bound], _resetLockTimerDecs = [_mobx.action, _mobx.action.bound], _setHoveringHandlerDecs = [_mobx.action, _mobx.action.bound], _setHoveringLeaveHandlerDecs = [_mobx.action, _mobx.action.bound], _setScreenShareSpeakerViewSizeDecs = [(0, _decorator.debounced)(400), _decorator.bound], _handleLiveLayoutChangeDecs = [_mobx.action, _mobx.action.bound], _onUserInfoUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleLayoutUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleFoldListChangedDecs = [_mobx.action, _mobx.action.bound], _handleMainListLengthChangedDecs = [_mobx.action, _mobx.action.bound], _handleMainListChangedDecs = [_mobx.action, _mobx.action.bound], _setBarHoveringDecs = [_mobx.action, _mobx.action.bound], _handleConnectionUpdatedDecs = [_mobx.action, _mobx.action.bound], _findVideoWindowByUserIdDecs = [_mobx.action, _mobx.action.bound], _onRemoteUsersLeftDecs = [_mobx.action, _mobx.action.bound], _onAudioVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], "logger");
115
116
  var LayoutStore = exports["default"] = /*#__PURE__*/function () {
116
117
  function LayoutStore(params) {
117
118
  var _this = this;
@@ -177,22 +178,26 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
177
178
  this._chatProvider = chatProvider;
178
179
  this._videoWindowDataSource = params.sharedVideoWindowDataSource;
179
180
  this._sharedMemberDataSource = params.sharedMemberDataSource;
180
- this._screenShareProvider = params.screenShareProvider;
181
181
  this._pinDataSource = params.sharedPinDataSource;
182
182
  this.chatRoomState = this._chatRoomControl.getConnectionState();
183
- this._annotationProvider = params.annotationProvider;
184
183
  this._sharedScreenShareDataSource = params.sharedScreenShareDataSource;
185
- this._interpreterProvider = params.interpreterProvider;
186
184
  this._sharedAnnotationDataSource = params.sharedAnnotationDataSource;
185
+ this._multiDisplayProvider = params.multiDisplayProvider;
187
186
  this._addListeners();
188
- //@ts-ignore
189
- window.layoutStore = this;
190
187
  this._initStream();
191
188
  this._handleFoldListChanged();
192
189
  this._handleMainListChanged();
193
190
  this._handleMainListLengthChanged();
194
191
  this._handleLayoutUpdated(this._videoWindowDataSource.layoutType);
195
192
  this.setWhiteboardActive(this._whiteBoardControl.getActivity());
193
+
194
+ // 进入房间后,如果双屏模式处于激活状态,则需要设置主窗口为窗口最大化
195
+ if (this._multiDisplayProvider.isActive) {
196
+ this._multiDisplayProvider.setMainWindowMaximize();
197
+ }
198
+
199
+ // @ts-ignore
200
+ window._layoutStore = this;
196
201
  }
197
202
  return (0, _createClass2["default"])(LayoutStore, [{
198
203
  key: "participant",
@@ -409,6 +414,37 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
409
414
  }, {
410
415
  key: "sourceList",
411
416
  get: function get() {
417
+ var mainList = this._videoWindowDataSource.mainList;
418
+ if (this.isMultiDisplayActive) {
419
+ switch (this.secondaryWindowContentType) {
420
+ case _type7.FcrUIDisplayDistributionContentType.LOCAL_CAMERA:
421
+ if (mainList.length === 1) {
422
+ return mainList;
423
+ } else {
424
+ return mainList.filter(function (item) {
425
+ return !item.isMySelf;
426
+ });
427
+ }
428
+ case _type7.FcrUIDisplayDistributionContentType.SHARING_SCREEN:
429
+ case _type7.FcrUIDisplayDistributionContentType.SHARING_SCREEN_WITH_ANNOTATION:
430
+ return mainList.filter(function (item) {
431
+ return item.videoSourceType !== _fcrCore.FcrVideoSourceType.SCREEN;
432
+ });
433
+ case _type7.FcrUIDisplayDistributionContentType.SHARING_WHITEBOARD:
434
+ return mainList.filter(function (item) {
435
+ return item.type !== _type2.FcrUIWindowType.BOARD;
436
+ });
437
+ case _type7.FcrUIDisplayDistributionContentType.HIDDEN:
438
+ var sharingType = this._multiDisplayProvider.displayState.sharingType;
439
+
440
+ // 当自己进行屏幕共享时,会隐藏副窗口,主窗口中不需要显示屏幕共享流
441
+ if (sharingType === _type7.FcrUIDisplayDistributionContentType.SHARING_SCREEN || sharingType === _type7.FcrUIDisplayDistributionContentType.SHARING_SCREEN_WITH_ANNOTATION) {
442
+ return mainList.filter(function (item) {
443
+ return item.videoSourceType !== _fcrCore.FcrVideoSourceType.SCREEN;
444
+ });
445
+ }
446
+ }
447
+ }
412
448
  var isMyselfCurrentScreenSharing = this._videoWindowDataSource.mainList.some(function (i) {
413
449
  return i.hasScreenSharing && i.isMySelf;
414
450
  });
@@ -531,6 +567,17 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
531
567
  return item.videoStreamId === _this3.spotlightStreamId || item.audioStreamId === _this3.spotlightStreamId;
532
568
  }) : null;
533
569
  }
570
+ }, {
571
+ key: "isWhoISpeakingActive",
572
+ get: function get() {
573
+ var _this$findSpotlightUs;
574
+ var spotlightUserName = (_this$findSpotlightUs = this.findSpotlightUser) === null || _this$findSpotlightUs === void 0 ? void 0 : _this$findSpotlightUs.userName;
575
+ var isSpeakerLayout = this.layout === _type2.FcrUIVideoWindowLayoutType.Speaker;
576
+ var speakerWindowData = this.galleryList[0];
577
+ var isSpeakerIsSharing = (speakerWindowData === null || speakerWindowData === void 0 ? void 0 : speakerWindowData.videoSourceType) === _fcrCore.FcrVideoSourceType.SCREEN || (speakerWindowData === null || speakerWindowData === void 0 ? void 0 : speakerWindowData.type) === _type2.FcrUIWindowType.BOARD;
578
+ var active = spotlightUserName && isSpeakerLayout && this.collapsed && !isSpeakerIsSharing;
579
+ return active;
580
+ }
534
581
  }, {
535
582
  key: "microphoneEnabled",
536
583
  get: function get() {
@@ -602,6 +649,21 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
602
649
  get: function get() {
603
650
  return this._sharedInterpreterDataSource.isInterpreterEnabled;
604
651
  }
652
+ }, {
653
+ key: "secondaryWindowContentType",
654
+ get: function get() {
655
+ return this._multiDisplayProvider.secondaryWindowContentType;
656
+ }
657
+ }, {
658
+ key: "isMultiDisplayActive",
659
+ get: function get() {
660
+ return this._multiDisplayProvider.isActive;
661
+ }
662
+ }, {
663
+ key: "isLocalCameraInSecondaryWindow",
664
+ get: function get() {
665
+ return this._multiDisplayProvider.isLocalCameraInSecondaryWindow;
666
+ }
605
667
  }, {
606
668
  key: "participantCount",
607
669
  get: function get() {
@@ -613,6 +675,11 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
613
675
  var isSharingScreen = !!this._sharedScreenShareDataSource.isSharingScreen;
614
676
  var shareScreenOwner = this._sharedScreenShareDataSource.screenSharingOwner;
615
677
  var isSharingScreenBySelf = this.localUserId === (shareScreenOwner === null || shareScreenOwner === void 0 ? void 0 : shareScreenOwner.userId);
678
+
679
+ // 多屏模式开启时, 不需要显示悬浮窗
680
+ if (this.isMultiDisplayActive) {
681
+ return false;
682
+ }
616
683
  if ((0, _env.isElectron)() && isSharingScreen && isSharingScreenBySelf) {
617
684
  return true;
618
685
  }
@@ -993,7 +1060,8 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
993
1060
  onStreamVolumeIndicationUpdated: this._onAudioVolumeUpdated
994
1061
  };
995
1062
  var userObserver = {
996
- onUserInfoUpdated: this.onUserInfoUpdated
1063
+ onUserInfoUpdated: this.onUserInfoUpdated,
1064
+ onRemoteUsersLeft: this._onRemoteUsersLeft
997
1065
  };
998
1066
  var videoWindowObserver = {
999
1067
  onLayoutUpdated: this._handleLayoutUpdated,
@@ -1039,21 +1107,58 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1039
1107
  }
1040
1108
  }
1041
1109
  _this5._handleMainListLengthChanged();
1110
+ }), (0, _mobx.reaction)(function () {
1111
+ return _this5._multiDisplayProvider.isActive;
1112
+ }, function (isActive) {
1113
+ var _this5$_multiDisplayP = _this5._multiDisplayProvider.displayState,
1114
+ sharingBySelf = _this5$_multiDisplayP.sharingBySelf,
1115
+ isSharingScreen = _this5$_multiDisplayP.isSharingScreen;
1116
+ if (isActive) {
1117
+ // 多屏模式激活时,需要设置主窗口为窗口最大化
1118
+ // 如果自己正在共享屏幕,则关闭 vidoe window 悬浮窗、显示主窗口
1119
+ if (sharingBySelf && isSharingScreen) {
1120
+ var _this5$_eventProvider;
1121
+ (_this5$_eventProvider = _this5._eventProvider) === null || _this5$_eventProvider === void 0 || _this5$_eventProvider.sendEvent(_constant.FcrUIAction.CLOSE_TOP_VIDEO_WINDOW);
1122
+ _this5._multiDisplayProvider.showMainWindowInIndexLeastDisplay({
1123
+ maximize: true
1124
+ });
1125
+ } else {
1126
+ _this5._multiDisplayProvider.setMainWindowMaximize();
1127
+ }
1128
+ return;
1129
+ }
1130
+
1131
+ // 多屏模式从激活状态转变为非激活状态时,
1132
+ // 如果当前是自己在共享屏幕,则隐藏主窗口,打开 vidoe window 悬浮窗
1133
+ // 如果不是自己在共享,则切换布局到演讲者模式
1134
+ // 没屏幕共享时,不做操作
1135
+ if (sharingBySelf && isSharingScreen) {
1136
+ var _this5$_eventProvider2;
1137
+ window.runtime.browserWindow.hide();
1138
+ (_this5$_eventProvider2 = _this5._eventProvider) === null || _this5$_eventProvider2 === void 0 || _this5$_eventProvider2.sendEvent(_constant.FcrUIAction.OPEN_TOP_VIDEO_WINDOW);
1139
+ } else if (isSharingScreen) {
1140
+ _this5.toggleLayout(_type2.FcrUIVideoWindowLayoutType.Speaker);
1141
+ }
1042
1142
  }), (0, _mobx.reaction)(function () {
1043
1143
  return _this5.whiteboardActive;
1044
- }, function (opened) {
1045
- if (opened) {
1046
- var isActive = _this5._whiteBoardControl.getActivity();
1144
+ }, function (isBoardActive) {
1145
+ if (isBoardActive) {
1047
1146
  var ownerUserId = _this5._whiteBoardControl.getOwnerId();
1048
- if (isActive) {
1049
- var ownerUser = _this5._userControl.getUser(ownerUserId);
1050
- _this5._videoWindowDataSource.addBoard(ownerUser, ownerUserId === _this5.localUserId);
1147
+ var ownerUser = _this5._userControl.getUser(ownerUserId);
1148
+ _this5._videoWindowDataSource.addBoard(ownerUser, ownerUserId === _this5.localUserId);
1149
+ if (_this5.secondaryWindowContentType === _type7.FcrUIDisplayDistributionContentType.SHARING_WHITEBOARD) {
1150
+ // 在副屏窗口模式显示白板时,不切换布局
1151
+ return;
1051
1152
  }
1052
1153
  if (_this5.layout === _type2.FcrUIVideoWindowLayoutType.Gallery) {
1053
1154
  _this5.toggleLayout(_type2.FcrUIVideoWindowLayoutType.Speaker);
1054
1155
  }
1055
1156
  } else {
1056
1157
  _this5._videoWindowDataSource.removeBoard();
1158
+ if (_this5.secondaryWindowContentType === _type7.FcrUIDisplayDistributionContentType.SHARING_WHITEBOARD) {
1159
+ // 在副屏窗口模式显示白板时,不切换布局
1160
+ return;
1161
+ }
1057
1162
  if (_this5.manualLayout) {
1058
1163
  _this5.toggleLayout(_this5.manualLayout);
1059
1164
  } else {
@@ -1108,14 +1213,11 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1108
1213
  });
1109
1214
  }), (0, _mobx.reaction)(function () {
1110
1215
  return {
1111
- count: _this5.participantCount,
1112
1216
  enableSpotlight: _this5.enableSpotlight
1113
1217
  };
1114
1218
  }, function (_ref7) {
1115
- var count = _ref7.count,
1116
- enableSpotlight = _ref7.enableSpotlight;
1117
- var enableSetSpotlight = _this5._isSetSpotlightEnable(count, enableSpotlight);
1118
- _this5._videoWindowDataSource.setSpotlightEnabled(enableSetSpotlight);
1219
+ var enableSpotlight = _ref7.enableSpotlight;
1220
+ _this5._videoWindowDataSource.setSpotlightEnabled(enableSpotlight);
1119
1221
  }),
1120
1222
  // 录制的特殊逻辑:
1121
1223
  // 因为录制机器人不发流,且当前切换布局的逻辑是有多个人的视频窗口才切换到 speaker layout
@@ -1207,18 +1309,34 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1207
1309
  this.toggleLayout(_type2.FcrUIVideoWindowLayoutType.Speaker);
1208
1310
  }
1209
1311
  }
1210
- }, {
1211
- key: "_isSetSpotlightEnable",
1212
- value: function _isSetSpotlightEnable(count, enableSpotlight) {
1213
- var setSpotlightEnable = count > LayoutStore.MIN_USERS_TO_ENABLE_SPOTLIGHT;
1214
- return setSpotlightEnable && enableSpotlight;
1215
- }
1216
1312
  }, {
1217
1313
  key: "_handleConnectionUpdated",
1218
1314
  value: function _handleConnectionUpdated(_, state) {
1219
1315
  this.logger.info('layout store handleConnectionUpdated', state);
1220
1316
  this.chatRoomState = state;
1221
1317
  }
1318
+ }, {
1319
+ key: "_findVideoWindowByUserId",
1320
+ value: function _findVideoWindowByUserId(userId) {
1321
+ return this.mainList.find(function (item) {
1322
+ return item.userId === userId;
1323
+ });
1324
+ }
1325
+ }, {
1326
+ key: "_onRemoteUsersLeft",
1327
+ value: function _onRemoteUsersLeft(roomId, events) {
1328
+ var _this7 = this;
1329
+ events.forEach(function (event) {
1330
+ var userInfo = event.userInfo;
1331
+ var videoWindowData = _this7._findVideoWindowByUserId(userInfo.userId);
1332
+ if (videoWindowData) {
1333
+ var stream = videoWindowData.getVideoStream();
1334
+ if (stream) {
1335
+ _this7._videoWindowDataSource["delete"](stream);
1336
+ }
1337
+ }
1338
+ });
1339
+ }
1222
1340
  }, {
1223
1341
  key: "_handleLiveStreamingStateUpdated",
1224
1342
  value: function _handleLiveStreamingStateUpdated(_, state, url, reason) {
@@ -1234,6 +1352,10 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1234
1352
  key: "_handleStreamAdded",
1235
1353
  value: function _handleStreamAdded(modifiedStream) {
1236
1354
  this._videoWindowDataSource.add(modifiedStream, modifiedStream.owner.userId === this.localUserId);
1355
+ if (this.isMultiDisplayActive) {
1356
+ // 在开启多屏模式下,屏幕共享流添加时,保持布局不变
1357
+ return;
1358
+ }
1237
1359
  if (modifiedStream.videoSourceType === _fcrCore.FcrVideoSourceType.SCREEN) {
1238
1360
  var isSharingScreenOwner = modifiedStream.owner.userId === this.localUserId;
1239
1361
  if (this.layout === _type2.FcrUIVideoWindowLayoutType.Gallery) {
@@ -1248,33 +1370,37 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1248
1370
  }, {
1249
1371
  key: "_onStreamsAdded",
1250
1372
  value: function _onStreamsAdded(roomId, events) {
1251
- var _this7 = this;
1373
+ var _this8 = this;
1252
1374
  events.forEach(function (_ref8) {
1253
1375
  var modifiedStream = _ref8.modifiedStream;
1254
- _this7._handleStreamAdded(modifiedStream);
1376
+ _this8._handleStreamAdded(modifiedStream);
1255
1377
  });
1256
1378
  }
1257
1379
  }, {
1258
1380
  key: "_onStreamsUpdated",
1259
1381
  value: function _onStreamsUpdated(roomId, events) {
1260
- var _this8 = this;
1382
+ var _this9 = this;
1261
1383
  events.forEach(function (_ref9) {
1262
1384
  var modifiedStream = _ref9.modifiedStream;
1263
- _this8._videoWindowDataSource.update(modifiedStream);
1385
+ _this9._videoWindowDataSource.update(modifiedStream);
1264
1386
  });
1265
1387
  }
1266
1388
  }, {
1267
1389
  key: "_onStreamsRemoved",
1268
1390
  value: function _onStreamsRemoved(roomId, events) {
1269
- var _this9 = this;
1391
+ var _this0 = this;
1270
1392
  events.forEach(function (_ref0) {
1271
1393
  var modifiedStream = _ref0.modifiedStream;
1272
- _this9._videoWindowDataSource["delete"](modifiedStream);
1394
+ _this0._videoWindowDataSource["delete"](modifiedStream);
1273
1395
  });
1274
1396
  var hasScreenStream = events === null || events === void 0 ? void 0 : events.find(function (event) {
1275
1397
  var videoType = event.modifiedStream.videoSourceType;
1276
1398
  return videoType === _fcrCore.FcrVideoSourceType.SCREEN;
1277
1399
  });
1400
+ if (this.isMultiDisplayActive) {
1401
+ // 在开启多屏模式下,屏幕共享流被移除时,保持布局不变
1402
+ return;
1403
+ }
1278
1404
  if (hasScreenStream) {
1279
1405
  if (this.manualLayout) {
1280
1406
  this._videoWindowDataSource.setLayout(this.manualLayout);
@@ -1292,16 +1418,16 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1292
1418
  }, {
1293
1419
  key: "_findSpotlightStream",
1294
1420
  value: function _findSpotlightStream() {
1295
- var _this0 = this;
1421
+ var _this1 = this;
1296
1422
  //find the max volume stream
1297
1423
  var res = {
1298
1424
  streamId: '',
1299
1425
  volume: 0
1300
1426
  };
1301
1427
  this.userVolumeMap.forEach(function (volume, id) {
1302
- var _this0$interpreterUse;
1303
- var windowData = _this0.mainListMapByAudioStreamId.get(id);
1304
- if (id !== '0' && !res.streamId && volume > 45 && windowData !== null && windowData !== void 0 && windowData.hasMicrophoneAudioStream && windowData.videoSourceType !== _fcrCore.FcrVideoSourceType.SCREEN && !((_this0$interpreterUse = _this0.interpreterUserList) !== null && _this0$interpreterUse !== void 0 && _this0$interpreterUse.find(function (user) {
1428
+ var _this1$interpreterUse;
1429
+ var windowData = _this1.mainListMapByAudioStreamId.get(id);
1430
+ if (id !== '0' && !res.streamId && volume > 45 && windowData !== null && windowData !== void 0 && windowData.hasMicrophoneAudioStream && windowData.videoSourceType !== _fcrCore.FcrVideoSourceType.SCREEN && !((_this1$interpreterUse = _this1.interpreterUserList) !== null && _this1$interpreterUse !== void 0 && _this1$interpreterUse.find(function (user) {
1305
1431
  return user.userId === windowData.userId;
1306
1432
  }))) {
1307
1433
  res = {
@@ -1315,7 +1441,7 @@ var LayoutStore = exports["default"] = /*#__PURE__*/function () {
1315
1441
  }]);
1316
1442
  }();
1317
1443
  _LayoutStore = LayoutStore;
1318
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_LayoutStore, [[_participantDecs, 17, "participant"], [_chatDecs, 17, "chat"], [_chatActionDecs, 17, "chatAction"], [_stateBarDecs, 17, "stateBar"], [_actionBarDecs, 17, "actionBar"], [_layersDecs, 17, "layers"], [_whiteboardDecs, 17, "whiteboard"], [_annotationDecs, 17, "annotation"], [_screenShareControlDecs, 17, "screenShareControl"], [_mobx.observable, 1, "collapsed"], [_mobx.observable, 1, "aside"], [_mobx.observable, 1, "barHovering"], [_mobx.observable, 1, "barLocked"], [_mobx.observable, 1, "barHidden"], [_mobx.observable, 1, "asideWidth"], [_mobx.observable, 1, "userVolumeMap"], [_mobx.observable, 1, "chatRoomState"], [_mobx.observable, 1, "whiteboardActive"], [_mobx.observable, 1, "ownerUser"], [_mobx.computed, 3, "isWaterMarkEnabled"], [_mobx.computed, 3, "isMulti"], [_mobx.computed, 3, "layout"], [_mobx.computed, 3, "manualLayout"], [_mobx.computed, 3, "scalcValue"], [_mobx.computed, 3, "sourceList"], [_mobx.computed, 3, "layoutMainList"], [_mobx.computed, 3, "mainList"], [_mobx.computed, 3, "mainListMapByAudioStreamId"], [_mobx.computed, 3, "spotlightStreamId"], [_mobx.computed, 3, "foldList"], [_mobx.computed, 3, "galleryList"], [_mobx.computed, 3, "isMainWindowInScreenSharing"], [_mobx.computed, 3, "isCurrentUserInBoardSharing"], [_mobx.computed, 3, "asideLayout"], [_mobx.computed, 3, "carouselList"], [_mobx.computed, 3, "hasPinnedStream"], [_mobx.computed, 3, "isRobot"], [_mobx.computed, 3, "findSpotlightUser"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "galleryMaxSize"], [_mobx.computed, 3, "isVideoSuspended"], [_mobx.computed, 3, "asideContent"], [_mobx.computed, 3, "participantsRenderAt"], [_mobx.computed, 3, "chatRenderAt"], [_decorator.bound, 2, "getWaterMarkContent"], [_decorator.bound, 2, "hasMutePermission"], [_decorator.bound, 2, "hasUnmutePermission"], [_decorator.bound, 2, "hasRequestStartAudioPermission"], [_decorator.bound, 2, "toggleMainStream"], [_addPinMessageDecs, 18, "addPinMessage"], [_cancelPinMessageDecs, 18, "cancelPinMessage"], [_decorator.bound, 2, "addPin"], [_decorator.bound, 2, "removePin"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setAllowChat"], [_decorator.bound, 2, "handleSetPinState"], [_setWhiteboardActiveDecs, 18, "setWhiteboardActive"], [_setAsideWidthDecs, 18, "setAsideWidth"], [_updateSlotsDecs, 18, "updateSlots"], [_decorator.bound, 2, "closeParticipantFromAside"], [_decorator.bound, 2, "moveParticipantFromAsideToDialog"], [_decorator.bound, 2, "closeChatFromAside"], [_decorator.bound, 2, "closeAsideChat"], [_decorator.bound, 2, "moveChatFromAsideToDialog"], [_decorator.bound, 2, "openPrivateChat"], [_decorator.bound, 2, "openRenameDialog"], [_toggleLayoutDecs, 18, "toggleLayout"], [_toggleCollapsedDecs, 18, "toggleCollapsed"], [_toggleAsideDecs, 18, "toggleAside"], [_asideWidthChangedDecs, 18, "asideWidthChanged"], [_toggleLayoutBarLockDecs, 18, "toggleLayoutBarLock"], [_toggleLayoutBarHiddenDecs, 18, "toggleLayoutBarHidden"], [_resetLockTimerDecs, 18, "resetLockTimer"], [_setHoveringHandlerDecs, 18, "setHoveringHandler"], [_setHoveringLeaveHandlerDecs, 18, "setHoveringLeaveHandler"], [_setScreenShareSpeakerViewSizeDecs, 2, "setScreenShareSpeakerViewSize"], [_handleLiveLayoutChangeDecs, 18, "handleLiveLayoutChange"], [_onUserInfoUpdatedDecs, 18, "onUserInfoUpdated"], [_decorator.bound, 2, "stopLocalPreview"], [_decorator.bound, 2, "startLocalPreview"], [_decorator.bound, 2, "setAllowChatWithPayload"], [_decorator.bound, 2, "setScaleValue"], [_decorator.bound, 2, "muteAudio"], [_decorator.bound, 2, "sendParticipantEvent"], [_decorator.bound, 2, "onEvent"], [_decorator.bound, 2, "_addListeners"], [_mobx.computed, 3, "_hasVideoStreamUser"], [_handleFoldListChangedDecs, 18, "_handleFoldListChanged"], [_handleMainListLengthChangedDecs, 18, "_handleMainListLengthChanged"], [_handleMainListChangedDecs, 18, "_handleMainListChanged"], [_mobx.action, 2, "_switchToSpeaker"], [_mobx.action, 2, "_switchToGallery"], [_setBarHoveringDecs, 18, "_setBarHovering"], [_decorator.bound, 2, "_initStream"], [_decorator.bound, 2, "_isSetSpotlightEnable"], [_handleConnectionUpdatedDecs, 18, "_handleConnectionUpdated"], [_decorator.bound, 2, "_handleLiveStreamingStateUpdated"], [_decorator.bound, 2, "_handleStreamAdded"], [_decorator.bound, 2, "_onStreamsAdded"], [_decorator.bound, 2, "_onStreamsUpdated"], [_decorator.bound, 2, "_onStreamsRemoved"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_handleLayoutUpdatedDecs, 16, "_handleLayoutUpdated"]], []).e, 21);
1444
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_LayoutStore, [[_participantDecs, 17, "participant"], [_chatDecs, 17, "chat"], [_chatActionDecs, 17, "chatAction"], [_stateBarDecs, 17, "stateBar"], [_actionBarDecs, 17, "actionBar"], [_layersDecs, 17, "layers"], [_whiteboardDecs, 17, "whiteboard"], [_annotationDecs, 17, "annotation"], [_screenShareControlDecs, 17, "screenShareControl"], [_mobx.observable, 1, "collapsed"], [_mobx.observable, 1, "aside"], [_mobx.observable, 1, "barHovering"], [_mobx.observable, 1, "barLocked"], [_mobx.observable, 1, "barHidden"], [_mobx.observable, 1, "asideWidth"], [_mobx.observable, 1, "userVolumeMap"], [_mobx.observable, 1, "chatRoomState"], [_mobx.observable, 1, "whiteboardActive"], [_mobx.observable, 1, "ownerUser"], [_mobx.computed, 3, "isWaterMarkEnabled"], [_mobx.computed, 3, "isMulti"], [_mobx.computed, 3, "layout"], [_mobx.computed, 3, "manualLayout"], [_mobx.computed, 3, "scalcValue"], [_mobx.computed, 3, "sourceList"], [_mobx.computed, 3, "layoutMainList"], [_mobx.computed, 3, "mainList"], [_mobx.computed, 3, "mainListMapByAudioStreamId"], [_mobx.computed, 3, "spotlightStreamId"], [_mobx.computed, 3, "foldList"], [_mobx.computed, 3, "galleryList"], [_mobx.computed, 3, "isMainWindowInScreenSharing"], [_mobx.computed, 3, "isCurrentUserInBoardSharing"], [_mobx.computed, 3, "asideLayout"], [_mobx.computed, 3, "carouselList"], [_mobx.computed, 3, "hasPinnedStream"], [_mobx.computed, 3, "isRobot"], [_mobx.computed, 3, "findSpotlightUser"], [_mobx.computed, 3, "isWhoISpeakingActive"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "galleryMaxSize"], [_mobx.computed, 3, "isVideoSuspended"], [_mobx.computed, 3, "asideContent"], [_mobx.computed, 3, "participantsRenderAt"], [_mobx.computed, 3, "chatRenderAt"], [_decorator.bound, 2, "getWaterMarkContent"], [_decorator.bound, 2, "hasMutePermission"], [_decorator.bound, 2, "hasUnmutePermission"], [_decorator.bound, 2, "hasRequestStartAudioPermission"], [_decorator.bound, 2, "toggleMainStream"], [_addPinMessageDecs, 18, "addPinMessage"], [_cancelPinMessageDecs, 18, "cancelPinMessage"], [_decorator.bound, 2, "addPin"], [_decorator.bound, 2, "removePin"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setAllowChat"], [_decorator.bound, 2, "handleSetPinState"], [_setWhiteboardActiveDecs, 18, "setWhiteboardActive"], [_setAsideWidthDecs, 18, "setAsideWidth"], [_updateSlotsDecs, 18, "updateSlots"], [_decorator.bound, 2, "closeParticipantFromAside"], [_decorator.bound, 2, "moveParticipantFromAsideToDialog"], [_decorator.bound, 2, "closeChatFromAside"], [_decorator.bound, 2, "closeAsideChat"], [_decorator.bound, 2, "moveChatFromAsideToDialog"], [_decorator.bound, 2, "openPrivateChat"], [_decorator.bound, 2, "openRenameDialog"], [_toggleLayoutDecs, 18, "toggleLayout"], [_toggleCollapsedDecs, 18, "toggleCollapsed"], [_toggleAsideDecs, 18, "toggleAside"], [_asideWidthChangedDecs, 18, "asideWidthChanged"], [_toggleLayoutBarLockDecs, 18, "toggleLayoutBarLock"], [_toggleLayoutBarHiddenDecs, 18, "toggleLayoutBarHidden"], [_resetLockTimerDecs, 18, "resetLockTimer"], [_setHoveringHandlerDecs, 18, "setHoveringHandler"], [_setHoveringLeaveHandlerDecs, 18, "setHoveringLeaveHandler"], [_setScreenShareSpeakerViewSizeDecs, 2, "setScreenShareSpeakerViewSize"], [_handleLiveLayoutChangeDecs, 18, "handleLiveLayoutChange"], [_onUserInfoUpdatedDecs, 18, "onUserInfoUpdated"], [_decorator.bound, 2, "stopLocalPreview"], [_decorator.bound, 2, "startLocalPreview"], [_decorator.bound, 2, "setAllowChatWithPayload"], [_decorator.bound, 2, "setScaleValue"], [_decorator.bound, 2, "muteAudio"], [_decorator.bound, 2, "sendParticipantEvent"], [_decorator.bound, 2, "onEvent"], [_decorator.bound, 2, "_addListeners"], [_mobx.computed, 3, "_hasVideoStreamUser"], [_handleFoldListChangedDecs, 18, "_handleFoldListChanged"], [_handleMainListLengthChangedDecs, 18, "_handleMainListLengthChanged"], [_handleMainListChangedDecs, 18, "_handleMainListChanged"], [_mobx.action, 2, "_switchToSpeaker"], [_mobx.action, 2, "_switchToGallery"], [_setBarHoveringDecs, 18, "_setBarHovering"], [_decorator.bound, 2, "_initStream"], [_handleConnectionUpdatedDecs, 18, "_handleConnectionUpdated"], [_findVideoWindowByUserIdDecs, 18, "_findVideoWindowByUserId"], [_onRemoteUsersLeftDecs, 18, "_onRemoteUsersLeft"], [_decorator.bound, 2, "_handleLiveStreamingStateUpdated"], [_decorator.bound, 2, "_handleStreamAdded"], [_decorator.bound, 2, "_onStreamsAdded"], [_decorator.bound, 2, "_onStreamsUpdated"], [_decorator.bound, 2, "_onStreamsRemoved"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_handleLayoutUpdatedDecs, 16, "_handleLayoutUpdated"]], []).e, 21);
1319
1445
  _init_participant = _applyDecs$e[0];
1320
1446
  _init_chat = _applyDecs$e[1];
1321
1447
  _init_chatAction = _applyDecs$e[2];
@@ -1337,5 +1463,4 @@ _init_whiteboardActive = _applyDecs$e[17];
1337
1463
  _init_ownerUser = _applyDecs$e[18];
1338
1464
  _init__handleLayoutUpdated = _applyDecs$e[19];
1339
1465
  _initProto = _applyDecs$e[20];
1340
- (0, _defineProperty2["default"])(LayoutStore, "MIN_USERS_TO_ENABLE_SPOTLIGHT", 2);
1341
1466
  var StoreContext = exports.StoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -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;