fcr-ui-scene 3.7.5 → 3.7.7

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 (401) hide show
  1. package/installer/icons/icon.png +0 -0
  2. package/installer/mac/entitlements.mac.plist +1 -5
  3. package/lib/creator/index.js +15 -7
  4. package/lib/creator/provider-initializer.browser.js +13 -4
  5. package/lib/creator/provider-initializer.electron.js +22 -10
  6. package/lib/creator.d.ts +36 -0
  7. package/lib/creator.js +465 -0
  8. package/lib/electron/bootstrap-sdk.js +90 -6
  9. package/lib/electron/injections.d.ts +1 -0
  10. package/lib/electron/injections.js +5 -1
  11. package/lib/electron/ipc/type.d.ts +1 -0
  12. package/lib/electron/ipc/type.js +1 -0
  13. package/lib/electron/preload.js +1 -0
  14. package/lib/electron/sdk-helper.d.ts +3 -0
  15. package/lib/electron/sdk-helper.js +53 -19
  16. package/lib/electron/struct.d.ts +7 -1
  17. package/lib/electron/struct.js +8 -1
  18. package/lib/electron/until.d.ts +7 -1
  19. package/lib/electron/until.js +11 -2
  20. package/lib/fragments/annotation/store.js +2 -0
  21. package/lib/modules/action-bar/components/item/index.js +1 -0
  22. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  23. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  24. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  25. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  26. package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
  27. package/lib/modules/action-bar/index.d.ts +55 -14
  28. package/lib/modules/action-bar/index.dev.js +94 -0
  29. package/lib/modules/action-bar/index.js +78 -32
  30. package/lib/modules/action-bar/store.d.ts +259 -0
  31. package/lib/modules/action-bar/store.js +1529 -0
  32. package/lib/modules/action-bar/types.d.ts +90 -0
  33. package/lib/modules/action-bar/types.js +6 -0
  34. package/lib/modules/action-bar/view.d.ts +1 -1
  35. package/lib/modules/action-bar/view.js +2 -2
  36. package/lib/modules/annotation/annotation-index.d.ts +2 -0
  37. package/lib/modules/annotation/annotation-index.js +80 -0
  38. package/lib/modules/annotation/annotation-toolbar-store.d.ts +75 -0
  39. package/lib/modules/annotation/annotation-toolbar-store.js +459 -0
  40. package/lib/modules/annotation/board-cursor.css +77 -0
  41. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  42. package/lib/modules/annotation/components/color-picker/components/color.js +38 -0
  43. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  44. package/lib/modules/annotation/components/color-picker/components/panel.js +109 -0
  45. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  46. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  47. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  48. package/lib/modules/annotation/components/color-picker/index.js +47 -0
  49. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  50. package/lib/modules/annotation/components/eraser-picker.js +144 -0
  51. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  52. package/lib/modules/annotation/components/expansion/index.js +100 -0
  53. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  54. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  55. package/lib/modules/annotation/components/history.d.ts +2 -0
  56. package/lib/modules/annotation/components/history.js +78 -0
  57. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  58. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  59. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  60. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  61. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  62. package/lib/modules/annotation/components/item/index.js +43 -0
  63. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  64. package/lib/modules/annotation/components/move-handle.js +134 -0
  65. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  66. package/lib/modules/annotation/components/pen-picker.js +155 -0
  67. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  68. package/lib/modules/annotation/components/screen-capture-picker.js +85 -0
  69. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  70. package/lib/modules/annotation/components/shape-picker.js +210 -0
  71. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  72. package/lib/modules/annotation/hooks/index.js +292 -0
  73. package/lib/modules/annotation/index.d.ts +45 -0
  74. package/lib/modules/annotation/index.js +168 -0
  75. package/lib/modules/annotation/store.d.ts +98 -0
  76. package/lib/modules/annotation/store.js +620 -0
  77. package/lib/modules/annotation/style.css +36 -0
  78. package/lib/modules/annotation/view.d.ts +3 -0
  79. package/lib/modules/annotation/view.js +44 -0
  80. package/lib/modules/audio-stream/index.js +4 -2
  81. package/lib/modules/chat/index.css +8 -0
  82. package/lib/modules/chat/view.js +7 -1
  83. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  84. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  85. package/lib/modules/components/control-bar/index.css +0 -2
  86. package/lib/modules/components/control-bar/index.d.ts +1 -0
  87. package/lib/modules/components/control-bar/index.js +51 -15
  88. package/lib/modules/components/device-control/store.d.ts +42 -0
  89. package/lib/modules/components/device-control/store.js +241 -0
  90. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  91. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  92. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  93. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  94. package/lib/modules/components/leave-meeting/store.d.ts +39 -0
  95. package/lib/modules/components/leave-meeting/store.js +270 -0
  96. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  97. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  98. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  99. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  100. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  101. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  102. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  103. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  104. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
  105. package/lib/modules/components/toolbar/index.js +6 -24
  106. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  107. package/lib/modules/control-bar/components/annotation-button/index.js +72 -0
  108. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  109. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  110. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  111. package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
  112. package/lib/modules/control-bar/hooks.js +2 -1
  113. package/lib/modules/control-bar/store.d.ts +1 -0
  114. package/lib/modules/control-bar/store.js +21 -7
  115. package/lib/modules/control-bar/types.d.ts +5 -16
  116. package/lib/modules/control-bar/view.js +96 -28
  117. package/lib/modules/dialog/components/confirm/index.js +6 -24
  118. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  119. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  120. package/lib/modules/dialog/components/dialog-container/index.css +8 -1
  121. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  122. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  123. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  124. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  125. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  126. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  127. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  128. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  129. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  130. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  131. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  132. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  133. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  134. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  135. package/lib/modules/dialog/dialogs/participant/index.js +9 -2
  136. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +3 -3
  137. package/lib/modules/dialog/dialogs/pre-setting/index.js +25 -20
  138. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  139. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  140. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  141. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  142. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  143. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  144. package/lib/modules/dialog/dialogs/widget/electron.d.ts +6 -0
  145. package/lib/modules/dialog/dialogs/widget/electron.js +38 -0
  146. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  147. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  148. package/lib/modules/dialog/hooks/use-popover-watcher.js +1 -3
  149. package/lib/modules/dialog/hooks/useElectron.d.ts +28 -0
  150. package/lib/modules/dialog/hooks/useElectron.js +277 -0
  151. package/lib/modules/dialog/index.css +6 -2
  152. package/lib/modules/dialog/level-config.d.ts +1 -0
  153. package/lib/modules/dialog/level-config.js +2 -1
  154. package/lib/modules/dialog/store.base.d.ts +2 -0
  155. package/lib/modules/dialog/store.browser.d.ts +2 -0
  156. package/lib/modules/dialog/store.browser.js +6 -1
  157. package/lib/modules/dialog/store.d.ts +135 -0
  158. package/lib/modules/dialog/store.electron.d.ts +9 -1
  159. package/lib/modules/dialog/store.electron.js +64 -4
  160. package/lib/modules/dialog/store.js +616 -0
  161. package/lib/modules/dialog/type.d.ts +3 -0
  162. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  163. package/lib/modules/event-confirm/components/window/index.js +221 -0
  164. package/lib/modules/event-confirm/index.css +24 -0
  165. package/lib/modules/event-confirm/index.d.ts +27 -0
  166. package/lib/modules/event-confirm/index.js +76 -0
  167. package/lib/modules/event-confirm/store.d.ts +50 -0
  168. package/lib/modules/event-confirm/store.js +394 -0
  169. package/lib/modules/event-confirm/view.d.ts +2 -0
  170. package/lib/modules/event-confirm/view.js +55 -0
  171. package/lib/modules/event-toast/index.css +0 -1
  172. package/lib/modules/event-toast/index.js +1 -0
  173. package/lib/modules/event-toast/store.base.d.ts +2 -0
  174. package/lib/modules/event-toast/store.base.js +40 -21
  175. package/lib/modules/event-toast/store.d.ts +9 -5
  176. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  177. package/lib/modules/event-toast/store.electron.js +19 -9
  178. package/lib/modules/event-toast/store.js +57 -39
  179. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  180. package/lib/modules/layout/store.d.ts +176 -0
  181. package/lib/modules/layout/store.electron.js +1 -1
  182. package/lib/modules/layout/store.js +1452 -0
  183. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  184. package/lib/modules/participant/store.base.d.ts +30 -3
  185. package/lib/modules/participant/store.base.js +249 -96
  186. package/lib/modules/participant/store.browser.js +4 -3
  187. package/lib/modules/participant/store.d.ts +222 -0
  188. package/lib/modules/participant/store.electron.js +5 -3
  189. package/lib/modules/participant/store.js +1929 -0
  190. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  191. package/lib/modules/pc-audio-connect/index.js +67 -0
  192. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  193. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  194. package/lib/modules/pc-audio-connect/store.js +304 -0
  195. package/lib/modules/secondary-window/store.d.ts +1 -1
  196. package/lib/modules/secondary-window/store.js +14 -22
  197. package/lib/modules/secondary-window/view.js +10 -10
  198. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  199. package/lib/modules/setting/dialog-wrapper.d.ts +2 -0
  200. package/lib/modules/setting/dialog-wrapper.js +110 -0
  201. package/lib/modules/setting/index.js +1 -1
  202. package/lib/modules/setting/state/index.js +1 -1
  203. package/lib/modules/setting/store.base.d.ts +5 -2
  204. package/lib/modules/setting/store.base.js +72 -26
  205. package/lib/modules/setting/store.d.ts +261 -0
  206. package/lib/modules/setting/store.js +1321 -0
  207. package/lib/modules/share-screen/components/selection/index.css +4 -0
  208. package/lib/modules/share-screen/store.base.js +17 -4
  209. package/lib/modules/share-screen/store.d.ts +148 -0
  210. package/lib/modules/share-screen/store.electron.js +5 -2
  211. package/lib/modules/share-screen/store.js +960 -0
  212. package/lib/modules/share-screen/types.d.ts +26 -0
  213. package/lib/modules/share-screen/types.js +6 -0
  214. package/lib/modules/state-bar/layout-config.js +6 -0
  215. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  216. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  217. package/lib/modules/state-bar/store.d.ts +124 -0
  218. package/lib/modules/state-bar/store.js +664 -0
  219. package/lib/modules/video-window/index.css +6 -0
  220. package/lib/modules/video-window/popover-watcher.d.ts +5 -10
  221. package/lib/modules/video-window/popover-watcher.js +34 -31
  222. package/lib/modules/video-window/store.d.ts +32 -5
  223. package/lib/modules/video-window/store.js +156 -63
  224. package/lib/modules/video-window/view.js +50 -1
  225. package/lib/modules/whiteboard/components/progress/electron.d.ts +1 -0
  226. package/lib/modules/whiteboard/components/progress/electron.js +33 -0
  227. package/lib/modules/whiteboard/index.d.ts +1 -1
  228. package/lib/modules/whiteboard/index.js +1 -1
  229. package/lib/modules/whiteboard/store.d.ts +3 -0
  230. package/lib/modules/whiteboard/store.js +31 -2
  231. package/lib/modules/whiteboard/view.js +10 -1
  232. package/lib/modules/widget/sdk.js +1 -1
  233. package/lib/modules/widget/store.base.d.ts +1 -0
  234. package/lib/modules/widget/store.browser.d.ts +1 -0
  235. package/lib/modules/widget/store.browser.js +60 -4
  236. package/lib/modules/widget/store.d.ts +5 -8
  237. package/lib/modules/widget/store.electron.d.ts +1 -0
  238. package/lib/modules/widget/store.electron.js +59 -2
  239. package/lib/modules/widget/store.js +4 -47
  240. package/lib/modules/widget/type.d.ts +3 -2
  241. package/lib/modules/widget/view.js +9 -4
  242. package/lib/modules/widget/web-widget.d.ts +2 -1
  243. package/lib/modules/widget/web-widget.js +7 -5
  244. package/lib/object-manager.d.ts +2 -2
  245. package/lib/object-manager.js +1 -1
  246. package/lib/providers/annotation-provider.d.ts +124 -0
  247. package/lib/providers/annotation-provider.js +369 -0
  248. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  249. package/lib/providers/board-share/bar-control/base.js +37 -28
  250. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  251. package/lib/providers/board-share/bar-control/electron.js +19 -16
  252. package/lib/providers/board-share/provider.base.d.ts +8 -1
  253. package/lib/providers/board-share/provider.base.js +12 -2
  254. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  255. package/lib/providers/board-share/provider.browser.js +21 -3
  256. package/lib/providers/device-provider.d.ts +16 -2
  257. package/lib/providers/device-provider.js +53 -60
  258. package/lib/providers/dialog/provider.base.d.ts +1 -0
  259. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  260. package/lib/providers/dialog/provider.browser.js +7 -2
  261. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  262. package/lib/providers/dialog/provider.electron.js +94 -2
  263. package/lib/providers/dialog/type.d.ts +7 -0
  264. package/lib/providers/dialog-provider.d.ts +137 -0
  265. package/lib/providers/dialog-provider.js +194 -0
  266. package/lib/providers/message-provider.d.ts +69 -0
  267. package/lib/providers/message-provider.js +140 -0
  268. package/lib/providers/mouse-detect/provider.d.ts +9 -1
  269. package/lib/providers/mouse-detect/provider.js +119 -5
  270. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  271. package/lib/providers/mouse-detect/struct.js +1 -0
  272. package/lib/providers/mouse-detect/type.d.ts +2 -0
  273. package/lib/providers/multi-display-provider.d.ts +3 -5
  274. package/lib/providers/multi-display-provider.js +0 -9
  275. package/lib/providers/renderer-provider.d.ts +5 -0
  276. package/lib/providers/renderer-provider.js +5 -0
  277. package/lib/providers/room-provider/room-provider.d.ts +4 -14
  278. package/lib/providers/room-provider/room-provider.js +28 -39
  279. package/lib/providers/room-provider.d.ts +194 -0
  280. package/lib/providers/room-provider.js +916 -0
  281. package/lib/providers/screen-share/provider.base.js +3 -11
  282. package/lib/providers/screen-share/provider.browser.js +23 -14
  283. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  284. package/lib/providers/screen-share/provider.electron.js +44 -17
  285. package/lib/providers/screen-share/strategy/browser.js +16 -13
  286. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  287. package/lib/providers/screen-share/strategy/electron.js +15 -10
  288. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  289. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  290. package/lib/providers/screen-share/stream-state-sync.js +26 -16
  291. package/lib/providers/screen-share/struct.d.ts +9 -7
  292. package/lib/providers/screen-share/struct.js +11 -8
  293. package/lib/providers/screen-share/type.d.ts +7 -1
  294. package/lib/providers/screen-share-provider.d.ts +245 -0
  295. package/lib/providers/screen-share-provider.js +850 -0
  296. package/lib/providers/sharing-provider.d.ts +42 -0
  297. package/lib/providers/sharing-provider.js +228 -0
  298. package/lib/providers/user-setting-storage-provider.d.ts +21 -0
  299. package/lib/providers/user-setting-storage-provider.js +65 -0
  300. package/lib/providers/whiteboard-provider.d.ts +2 -4
  301. package/lib/providers/whiteboard-provider.js +4 -7
  302. package/lib/providers/widget-provider.d.ts +5 -3
  303. package/lib/providers/widget-provider.js +12 -18
  304. package/lib/providers/window/main-window.d.ts +0 -5
  305. package/lib/providers/window/main-window.js +3 -44
  306. package/lib/providers/window/renderer-window.d.ts +1 -0
  307. package/lib/providers/window/renderer-window.js +13 -2
  308. package/lib/runtime.d.ts +1 -0
  309. package/lib/runtime.js +2 -1
  310. package/lib/scenes/main-scene.js +5 -0
  311. package/lib/shared-context/board-context.d.ts +2 -0
  312. package/lib/shared-context/board-context.js +2 -0
  313. package/lib/shared-data/member-data.d.ts +0 -8
  314. package/lib/shared-data/member-data.js +26 -78
  315. package/lib/shared-data/widget-data.d.ts +13 -0
  316. package/lib/shared-data/widget-data.js +50 -0
  317. package/lib/shared-data-source/annotation-data.d.ts +17 -0
  318. package/lib/{modules/action-bar/store.base.js → shared-data-source/annotation-data.js} +34 -41
  319. package/lib/shared-data-source/app-list-data.d.ts +34 -0
  320. package/lib/shared-data-source/app-list-data.js +133 -0
  321. package/lib/shared-data-source/chat-data.d.ts +25 -0
  322. package/lib/shared-data-source/chat-data.js +139 -0
  323. package/lib/shared-data-source/config.d.ts +35 -0
  324. package/lib/shared-data-source/config.js +40 -0
  325. package/lib/shared-data-source/confirm-data.d.ts +44 -0
  326. package/lib/shared-data-source/confirm-data.js +201 -0
  327. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  328. package/lib/shared-data-source/device-privilege-data.js +25 -0
  329. package/lib/shared-data-source/interpreter.d.ts +77 -0
  330. package/lib/shared-data-source/interpreter.js +247 -0
  331. package/lib/shared-data-source/layout-data.d.ts +31 -0
  332. package/lib/shared-data-source/layout-data.js +189 -0
  333. package/lib/shared-data-source/meeting-time.d.ts +90 -0
  334. package/lib/shared-data-source/meeting-time.js +416 -0
  335. package/lib/shared-data-source/member-data.d.ts +139 -0
  336. package/lib/shared-data-source/member-data.js +517 -0
  337. package/lib/shared-data-source/pin-data.d.ts +13 -0
  338. package/lib/{modules/action-bar/waiting-scene/store.js → shared-data-source/pin-data.js} +55 -35
  339. package/lib/shared-data-source/screen-share-data.d.ts +357 -0
  340. package/lib/shared-data-source/screen-share-data.js +513 -0
  341. package/lib/shared-data-source/security-data.d.ts +39 -0
  342. package/lib/shared-data-source/security-data.js +156 -0
  343. package/lib/shared-data-source/setting.d.ts +67 -0
  344. package/lib/shared-data-source/setting.js +220 -0
  345. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  346. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  347. package/lib/shared-data-source/video-window.d.ts +165 -0
  348. package/lib/shared-data-source/video-window.js +1266 -0
  349. package/lib/shared-data-source/waiting-room.d.ts +46 -0
  350. package/lib/shared-data-source/waiting-room.js +222 -0
  351. package/lib/{shared-data → shared-data-source}/whiteboard-data.d.ts +2 -2
  352. package/lib/{shared-data → shared-data-source}/whiteboard-data.js +23 -17
  353. package/lib/translations/enUS.d.ts +0 -2
  354. package/lib/translations/enUS.js +4 -6
  355. package/lib/translations/zhCN.d.ts +0 -2
  356. package/lib/translations/zhCN.js +4 -6
  357. package/lib/type.d.ts +5 -0
  358. package/lib/ui-scene.d.ts +2 -4
  359. package/lib/ui-scene.js +31 -42
  360. package/lib/utilities/board-context.d.ts +4 -0
  361. package/lib/utilities/board-context.js +12 -0
  362. package/lib/utilities/constant.d.ts +3 -1
  363. package/lib/utilities/constant.js +5 -2
  364. package/lib/utilities/copyText.d.ts +2 -0
  365. package/lib/utilities/copyText.js +48 -0
  366. package/lib/utilities/default-config.d.ts +18 -0
  367. package/lib/utilities/default-config.js +19 -1
  368. package/lib/utilities/focus-helper.js +10 -3
  369. package/lib/utilities/logger.js +3 -1
  370. package/lib/utilities/renderer-event.d.ts +10 -0
  371. package/lib/utilities/renderer-event.js +95 -0
  372. package/lib/utilities/renderer.d.ts +1 -0
  373. package/lib/utilities/renderer.js +7 -1
  374. package/lib/utilities/screen-capture-permission.d.ts +2 -0
  375. package/lib/utilities/screen-capture-permission.js +24 -0
  376. package/lib/utilities/screen.d.ts +3 -0
  377. package/lib/utilities/screen.js +53 -0
  378. package/lib/utilities/video-track-render-context.d.ts +6 -0
  379. package/lib/utilities/video-track-render-context.js +9 -0
  380. package/lib/waiting-room-control-manager.d.ts +28 -0
  381. package/lib/waiting-room-control-manager.js +230 -0
  382. package/package.json +5 -5
  383. package/public/index.html +35 -4
  384. package/lib/modules/action-bar/store.base.d.ts +0 -15
  385. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  386. package/lib/providers/board-share/bar-control.d.ts +0 -51
  387. package/lib/providers/board-share/bar-control.js +0 -390
  388. package/lib/providers/board-share/provider.d.ts +0 -66
  389. package/lib/providers/board-share/provider.js +0 -456
  390. package/lib/providers/screen-share/provider.d.ts +0 -69
  391. package/lib/providers/screen-share/provider.js +0 -615
  392. package/lib/providers/window/browser-window-proxy.js +0 -1
  393. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  394. package/lib/providers/window/ipc-protocol.js +0 -1
  395. package/lib/providers/window/main-process-handler.d.ts +0 -0
  396. package/lib/providers/window/main-process-handler.js +0 -1
  397. package/lib/providers/window/main-process-integration.d.ts +0 -0
  398. package/lib/providers/window/main-process-integration.js +0 -1
  399. package/lib/utilities/ipc-protocol.d.ts +0 -91
  400. package/lib/utilities/ipc-protocol.js +0 -61
  401. /package/lib/{providers/window/browser-window-proxy.d.ts → modules/action-bar/index.dev.d.ts} +0 -0
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.array.push.js");
10
+ require("core-js/modules/es.date.to-primitive.js");
11
+ require("core-js/modules/es.function.name.js");
12
+ require("core-js/modules/es.map.js");
13
+ require("core-js/modules/es.number.constructor.js");
14
+ require("core-js/modules/es.object.create.js");
15
+ require("core-js/modules/es.object.define-property.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
17
+ require("core-js/modules/esnext.function.metadata.js");
18
+ require("core-js/modules/esnext.map.delete-all.js");
19
+ require("core-js/modules/esnext.map.emplace.js");
20
+ require("core-js/modules/esnext.map.every.js");
21
+ require("core-js/modules/esnext.map.filter.js");
22
+ require("core-js/modules/esnext.map.find.js");
23
+ require("core-js/modules/esnext.map.find-key.js");
24
+ require("core-js/modules/esnext.map.includes.js");
25
+ require("core-js/modules/esnext.map.key-of.js");
26
+ require("core-js/modules/esnext.map.map-keys.js");
27
+ require("core-js/modules/esnext.map.map-values.js");
28
+ require("core-js/modules/esnext.map.merge.js");
29
+ require("core-js/modules/esnext.map.reduce.js");
30
+ require("core-js/modules/esnext.map.some.js");
31
+ require("core-js/modules/esnext.map.update.js");
32
+ require("core-js/modules/esnext.symbol.metadata.js");
33
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
34
+ var _typeof = require("@babel/runtime/helpers/typeof");
35
+ Object.defineProperty(exports, "__esModule", {
36
+ value: true
37
+ });
38
+ exports.FcrUISecuritySharedDataSourceImpl = void 0;
39
+ require("core-js/modules/es.array.for-each.js");
40
+ require("core-js/modules/es.array.iterator.js");
41
+ require("core-js/modules/es.function.bind.js");
42
+ require("core-js/modules/es.object.to-string.js");
43
+ require("core-js/modules/es.string.iterator.js");
44
+ require("core-js/modules/es.weak-map.js");
45
+ require("core-js/modules/esnext.iterator.constructor.js");
46
+ require("core-js/modules/esnext.iterator.for-each.js");
47
+ require("core-js/modules/esnext.weak-map.delete-all.js");
48
+ require("core-js/modules/esnext.weak-map.emplace.js");
49
+ require("core-js/modules/web.dom-collections.for-each.js");
50
+ require("core-js/modules/web.dom-collections.iterator.js");
51
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
52
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
53
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
54
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
55
+ var _mobx = require("mobx");
56
+ var _base = require("../base");
57
+ var _logger = require("../utilities/logger");
58
+ var _FcrUISecuritySharedDataSourceImpl;
59
+ var _initProto, _init__checkedStateMap, _setCheckedStateMapDecs, _ref;
60
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
61
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
62
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
63
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
64
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
65
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
66
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
67
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
68
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
69
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
70
+ var _A = /*#__PURE__*/new WeakMap();
71
+ _ref = (_setCheckedStateMapDecs = [_mobx.action, _mobx.action.bound], "logger");
72
+ var FcrUISecuritySharedDataSourceImpl = exports.FcrUISecuritySharedDataSourceImpl = /*#__PURE__*/function () {
73
+ function FcrUISecuritySharedDataSourceImpl(_privilegeProvider, _sharedMemberDataSource) {
74
+ (0, _classCallCheck2["default"])(this, FcrUISecuritySharedDataSourceImpl);
75
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
76
+ prefix: 'FcrUISecuritySharedDataSourceImpl'
77
+ })));
78
+ (0, _defineProperty2["default"])(this, "_disposers", []);
79
+ (0, _defineProperty2["default"])(this, "_privilegeObserver", {
80
+ onLocalUserSecurityInfosUpdated: this._handleLocalUserSecurityInfosUpdated.bind(this)
81
+ });
82
+ _classPrivateFieldInitSpec(this, _A, _init__checkedStateMap(this));
83
+ this._privilegeProvider = _privilegeProvider;
84
+ this._sharedMemberDataSource = _sharedMemberDataSource;
85
+ this._privilegeProvider.addObserver(this._privilegeObserver);
86
+ this._checkedStateMap = this._getCurrentCheckedStateMap();
87
+ }
88
+ return (0, _createClass2["default"])(FcrUISecuritySharedDataSourceImpl, [{
89
+ key: "_checkedStateMap",
90
+ get: function get() {
91
+ return _classPrivateFieldGet(_A, this);
92
+ },
93
+ set: function set(v) {
94
+ _classPrivateFieldSet(_A, this, v);
95
+ }
96
+ }, {
97
+ key: "checkedStateMap",
98
+ get: function get() {
99
+ return this._checkedStateMap;
100
+ }
101
+ }, {
102
+ key: "_getCurrentCheckedStateMap",
103
+ value: function _getCurrentCheckedStateMap() {
104
+ return {
105
+ lockRoom: this._privilegeProvider.isLockRoomEnabled(),
106
+ enableWaitingRoom: this._privilegeProvider.isWaitingRoomEnabled(),
107
+ enableJoinWithAudio: this._privilegeProvider.allowJoinWithMuteAudio(),
108
+ joinWithCloseVideo: this._privilegeProvider.allowJoinWithMutedVideo(),
109
+ enableWatermark: this._privilegeProvider.isWaterMarkEnabled(),
110
+ shareScreen: this._privilegeProvider.allowScreenShareAndBoard(),
111
+ enableAnnotation: this._privilegeProvider.hasAnnotationAllowWritePermission(),
112
+ chat: this._privilegeProvider.allowChat(),
113
+ unmuteYourself: this._privilegeProvider.allowUnmuteSelfAudio(),
114
+ startVideo: this._privilegeProvider.allowUnmuteSelfVideo(),
115
+ rename: this._privilegeProvider.allowChangeSelfName(),
116
+ allowBoardWriteState: this._privilegeProvider.allowBoardWriteState(),
117
+ allowAnnotationWriteState: this._privilegeProvider.allowAnnotationWriteState(),
118
+ hasAnnotationWritePermission: this._privilegeProvider.hasAnnotationWritePermission()
119
+ };
120
+ }
121
+ }, {
122
+ key: "_refreshCheckedStateMap",
123
+ value: function _refreshCheckedStateMap() {
124
+ this._checkedStateMap = this._getCurrentCheckedStateMap();
125
+ }
126
+ }, {
127
+ key: "localUserId",
128
+ get: function get() {
129
+ return this._sharedMemberDataSource.localUser.userId;
130
+ }
131
+ }, {
132
+ key: "setCheckedStateMap",
133
+ value: function setCheckedStateMap(val) {
134
+ this._checkedStateMap = val;
135
+ }
136
+ }, {
137
+ key: "_handleLocalUserSecurityInfosUpdated",
138
+ value: function _handleLocalUserSecurityInfosUpdated(event) {
139
+ this._refreshCheckedStateMap();
140
+ }
141
+ }, {
142
+ key: "release",
143
+ value: function release() {
144
+ this._disposers.forEach(function (disposer) {
145
+ return disposer();
146
+ });
147
+ this._disposers = [];
148
+ this._privilegeProvider.removeObserver(this._privilegeObserver);
149
+ }
150
+ }]);
151
+ }();
152
+ _FcrUISecuritySharedDataSourceImpl = FcrUISecuritySharedDataSourceImpl;
153
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUISecuritySharedDataSourceImpl, [[_mobx.observable, 1, "_checkedStateMap"], [_setCheckedStateMapDecs, 18, "setCheckedStateMap"]], []).e, 2);
154
+ _init__checkedStateMap = _applyDecs$e[0];
155
+ _initProto = _applyDecs$e[1];
156
+ (0, _base.registerDependency)('sharedSecuritySharedDataSource');
@@ -0,0 +1,67 @@
1
+ import { FcrUICustomSetting } from '../modules/setting/store';
2
+ import { FcrUIMediaConfig, FcrUISceneCreatorConfig, FcrUISettingConfig } from '../type';
3
+ import { FcrUIUserSettingStorageProvider } from '../providers/user-setting-storage-provider';
4
+ /**
5
+ * FcrUISharedSettingDataSource 接口定义了用于获取和修改共享 UI 设置数据的方法。
6
+ * 通过该接口,可以方便地对自定义设置进行读取和更新操作,适用于管理和维护 UI 相关的共享配置。
7
+ */
8
+ export interface FcrUISharedSettingDataSource {
9
+ /**
10
+ * 获取当前的自定义设置。
11
+ * 此属性返回一个 FcrUICustomSetting 类型的对象,包含了所有已配置的自定义设置信息。
12
+ *
13
+ * @returns 当前的自定义设置对象,类型为 FcrUICustomSetting。
14
+ */
15
+ get setting(): FcrUICustomSetting;
16
+ /**
17
+ * 获取当前的媒体设置。
18
+ * 此属性返回一个 FcrUIMediaConfig 类型的对象,包含了所有已配置的媒体设置信息。
19
+ *
20
+ * @returns 当前的媒体设置对象,类型为 FcrUIMediaConfig。
21
+ */
22
+ get media(): FcrUIMediaConfig;
23
+ /**
24
+ * 设置新的自定义设置。
25
+ * 该方法允许传入一个 FcrUICustomSetting 类型的部分对象,用于更新当前的自定义设置。
26
+ * 传入的 newSetting 中的属性会覆盖当前设置中对应的属性。
27
+ *
28
+ * @param newSetting - 新的自定义设置对象,类型为 FcrUICustomSetting 的部分对象。
29
+ */
30
+ setSetting(newSetting: Partial<FcrUICustomSetting>): void;
31
+ /**
32
+ * 设置新的媒体设置。
33
+ * 该方法允许传入一个 FcrUIMediaConfig 类型的部分对象,用于更新当前的媒体设置。
34
+ * 传入的 newSetting 中的属性会覆盖当前设置中对应的属性。
35
+ *
36
+ * @param newSetting - 新的媒体设置对象,类型为 FcrUIMediaConfig 的部分对象。
37
+ */
38
+ setMedia(newMedia: Partial<FcrUIMediaConfig>): void;
39
+ /**
40
+ * 获取当前的设置配置。
41
+ * 此属性返回一个 FcrUISettingConfig 类型的对象,包含了所有已配置的设置配置信息。
42
+ *
43
+ * @returns 当前的设置配置对象,类型为 FcrUISettingConfig。
44
+ */
45
+ get settingConfig(): FcrUISettingConfig;
46
+ /**
47
+ * 初始化设置配置。
48
+ * 此方法用于初始化设置配置,从本地存储中读取设置配置,并将其合并到当前设置配置中。
49
+ */
50
+ initSettingConfig(): void;
51
+ }
52
+ export declare class FcrUISharedSettingDataSourceImpl implements FcrUISharedSettingDataSource {
53
+ private _creatorConfig;
54
+ private _userSettingStorageProvider;
55
+ private accessor _settingConfig;
56
+ private _useDefaultAudioEchoCancellation;
57
+ constructor(creatorConfig: FcrUISceneCreatorConfig, userSettingStorageProvider: FcrUIUserSettingStorageProvider);
58
+ get setting(): FcrUICustomSetting;
59
+ get media(): FcrUIMediaConfig;
60
+ get settingConfig(): FcrUISettingConfig;
61
+ private _preHandleSetting;
62
+ setSetting(assignedSetting: Partial<FcrUICustomSetting>): void;
63
+ private _handleConfig;
64
+ setMedia(media: Partial<FcrUIMediaConfig>): void;
65
+ initSettingConfig(): void;
66
+ private _createConfigProxy;
67
+ }
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
5
+ require("core-js/modules/es.symbol.to-primitive.js");
6
+ require("core-js/modules/es.error.cause.js");
7
+ require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.filter.js");
9
+ require("core-js/modules/es.array.for-each.js");
10
+ require("core-js/modules/es.array.is-array.js");
11
+ require("core-js/modules/es.array.push.js");
12
+ require("core-js/modules/es.date.to-primitive.js");
13
+ require("core-js/modules/es.function.bind.js");
14
+ require("core-js/modules/es.function.name.js");
15
+ require("core-js/modules/es.map.js");
16
+ require("core-js/modules/es.number.constructor.js");
17
+ require("core-js/modules/es.object.create.js");
18
+ require("core-js/modules/es.object.define-properties.js");
19
+ require("core-js/modules/es.object.define-property.js");
20
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
21
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
22
+ require("core-js/modules/esnext.function.metadata.js");
23
+ require("core-js/modules/esnext.iterator.constructor.js");
24
+ require("core-js/modules/esnext.iterator.filter.js");
25
+ require("core-js/modules/esnext.iterator.for-each.js");
26
+ require("core-js/modules/esnext.map.delete-all.js");
27
+ require("core-js/modules/esnext.map.emplace.js");
28
+ require("core-js/modules/esnext.map.every.js");
29
+ require("core-js/modules/esnext.map.filter.js");
30
+ require("core-js/modules/esnext.map.find.js");
31
+ require("core-js/modules/esnext.map.find-key.js");
32
+ require("core-js/modules/esnext.map.includes.js");
33
+ require("core-js/modules/esnext.map.key-of.js");
34
+ require("core-js/modules/esnext.map.map-keys.js");
35
+ require("core-js/modules/esnext.map.map-values.js");
36
+ require("core-js/modules/esnext.map.merge.js");
37
+ require("core-js/modules/esnext.map.reduce.js");
38
+ require("core-js/modules/esnext.map.some.js");
39
+ require("core-js/modules/esnext.map.update.js");
40
+ require("core-js/modules/esnext.symbol.metadata.js");
41
+ require("core-js/modules/web.dom-collections.for-each.js");
42
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
43
+ var _typeof = require("@babel/runtime/helpers/typeof");
44
+ Object.defineProperty(exports, "__esModule", {
45
+ value: true
46
+ });
47
+ exports.FcrUISharedSettingDataSourceImpl = void 0;
48
+ require("core-js/modules/es.array.iterator.js");
49
+ require("core-js/modules/es.object.keys.js");
50
+ require("core-js/modules/es.object.to-string.js");
51
+ require("core-js/modules/es.string.iterator.js");
52
+ require("core-js/modules/es.weak-map.js");
53
+ require("core-js/modules/esnext.weak-map.delete-all.js");
54
+ require("core-js/modules/esnext.weak-map.emplace.js");
55
+ require("core-js/modules/web.dom-collections.iterator.js");
56
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
57
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
58
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
59
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
60
+ var _type = require("../type");
61
+ var _parameters = require("../utilities/parameters");
62
+ var _mobx = require("mobx");
63
+ var _base = require("../base");
64
+ var _merge = _interopRequireDefault(require("lodash/merge"));
65
+ var _env = require("agora-foundation/lib/utilities/env");
66
+ var _FcrUISharedSettingDataSourceImpl;
67
+ var _initProto, _init__settingConfig, _preHandleSettingDecs, _setSettingDecs, _setMediaDecs, _ref;
68
+ 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; }
69
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
70
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
71
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
72
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
73
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
74
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
75
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
76
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
77
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
78
+ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
79
+ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
80
+ /**
81
+ * FcrUISharedSettingDataSource 接口定义了用于获取和修改共享 UI 设置数据的方法。
82
+ * 通过该接口,可以方便地对自定义设置进行读取和更新操作,适用于管理和维护 UI 相关的共享配置。
83
+ */
84
+ var _A = /*#__PURE__*/new WeakMap();
85
+ _ref = (_preHandleSettingDecs = [_mobx.action, _mobx.action.bound], _setSettingDecs = [_mobx.action, _mobx.action.bound], _setMediaDecs = [_mobx.action, _mobx.action.bound], "_creatorConfig");
86
+ var FcrUISharedSettingDataSourceImpl = exports.FcrUISharedSettingDataSourceImpl = /*#__PURE__*/function () {
87
+ function FcrUISharedSettingDataSourceImpl(creatorConfig, userSettingStorageProvider) {
88
+ (0, _classCallCheck2["default"])(this, FcrUISharedSettingDataSourceImpl);
89
+ (0, _defineProperty2["default"])(this, _ref, void _initProto(this));
90
+ _classPrivateFieldInitSpec(this, _A, _init__settingConfig(this, {
91
+ media: {
92
+ autoConnectAudio: true,
93
+ microphoneExpectedOff: true,
94
+ cameraExpectedOff: true
95
+ },
96
+ setting: {
97
+ shouldDisplayPreviewDialog: true,
98
+ shouldHideNonVideoParticipants: false,
99
+ displayedMaxAttendees: 16,
100
+ autoAdjustmentSpeakerVolume: true,
101
+ autoAdjustmentMicrophoneVolume: (0, _env.isElectron)(),
102
+ noiseReduce: _type.FcrUIAiDenoiseLevel.LOW,
103
+ recordingPath: '',
104
+ videoHD: false,
105
+ videoLowLight: false,
106
+ hardwareForReception: false,
107
+ videoNoise: false,
108
+ audioHiFi: false,
109
+ audioEchoCancellation: true,
110
+ audioStereo: false,
111
+ audioVoiceChanger: true,
112
+ spotlightEnabled: true,
113
+ isPlaySound: true,
114
+ language: 'zh',
115
+ shouldHideMyVideo: false,
116
+ isDualDisplayMode: false
117
+ }
118
+ }));
119
+ (0, _defineProperty2["default"])(this, "_useDefaultAudioEchoCancellation", true);
120
+ this._userSettingStorageProvider = userSettingStorageProvider;
121
+ this._creatorConfig = creatorConfig;
122
+ var defaultVideoGallerySize = (0, _parameters.getDefaultVideoGallerySize)(this._creatorConfig.parameters);
123
+ if (defaultVideoGallerySize) {
124
+ defaultVideoGallerySize = Math.min(Math.max(defaultVideoGallerySize, 16), 25);
125
+ }
126
+ this._settingConfig.setting.displayedMaxAttendees = defaultVideoGallerySize || 0;
127
+ this.initSettingConfig();
128
+ }
129
+ return (0, _createClass2["default"])(FcrUISharedSettingDataSourceImpl, [{
130
+ key: "_settingConfig",
131
+ get: function get() {
132
+ return _classPrivateFieldGet(_A, this);
133
+ },
134
+ set: function set(v) {
135
+ _classPrivateFieldSet(_A, this, v);
136
+ }
137
+ }, {
138
+ key: "setting",
139
+ get: function get() {
140
+ return this._settingConfig.setting;
141
+ }
142
+ }, {
143
+ key: "media",
144
+ get: function get() {
145
+ return this._settingConfig.media;
146
+ }
147
+ }, {
148
+ key: "settingConfig",
149
+ get: function get() {
150
+ return {
151
+ media: this._createConfigProxy(this._settingConfig.media, 'media'),
152
+ setting: this._createConfigProxy(this._settingConfig.setting, 'setting')
153
+ };
154
+ }
155
+ }, {
156
+ key: "_preHandleSetting",
157
+ value: function _preHandleSetting(newSetting) {
158
+ if (newSetting !== null && newSetting !== void 0 && newSetting.audioVoiceChanger && !this._settingConfig.setting.audioVoiceChanger && this._useDefaultAudioEchoCancellation) {
159
+ this._useDefaultAudioEchoCancellation = false;
160
+ return _objectSpread(_objectSpread({}, newSetting), {}, {
161
+ audioEchoCancellation: true
162
+ });
163
+ }
164
+ return newSetting;
165
+ }
166
+ }, {
167
+ key: "setSetting",
168
+ value: function setSetting(assignedSetting) {
169
+ var newSetting = this._preHandleSetting(assignedSetting);
170
+ var setting = this._handleConfig('setting', newSetting);
171
+ this._settingConfig.setting = setting;
172
+ }
173
+ }, {
174
+ key: "_handleConfig",
175
+ value: function _handleConfig(type, value) {
176
+ var config = this._userSettingStorageProvider.read();
177
+ var localValue = (config === null || config === void 0 ? void 0 : config[type]) || {};
178
+ var currentValue = this._settingConfig[type];
179
+ var newValue = (0, _merge["default"])(currentValue, localValue, value);
180
+ this._userSettingStorageProvider.write((0, _defineProperty2["default"])({}, type, newValue));
181
+ return newValue;
182
+ }
183
+ }, {
184
+ key: "setMedia",
185
+ value: function setMedia(media) {
186
+ var newMedia = this._handleConfig('media', media);
187
+ this._settingConfig.media = newMedia;
188
+ }
189
+ }, {
190
+ key: "initSettingConfig",
191
+ value: function initSettingConfig() {
192
+ var settingConfig = this._userSettingStorageProvider.read();
193
+ if (!settingConfig || Object.keys(settingConfig).length === 0) {
194
+ this._userSettingStorageProvider.write(this._settingConfig);
195
+ } else {
196
+ this._settingConfig = (0, _merge["default"])(this._settingConfig, settingConfig);
197
+ }
198
+ }
199
+ }, {
200
+ key: "_createConfigProxy",
201
+ value: function _createConfigProxy(config, type) {
202
+ var _this = this;
203
+ var handler = {
204
+ set: function set(target, p, newValue, receiver) {
205
+ var property = p;
206
+ target[property] = newValue;
207
+ var update = (0, _defineProperty2["default"])({}, property, newValue);
208
+ _this._handleConfig(type, update);
209
+ return true;
210
+ }
211
+ };
212
+ return new Proxy(config, handler);
213
+ }
214
+ }]);
215
+ }();
216
+ _FcrUISharedSettingDataSourceImpl = FcrUISharedSettingDataSourceImpl;
217
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUISharedSettingDataSourceImpl, [[_mobx.observable, 1, "_settingConfig"], [_preHandleSettingDecs, 18, "_preHandleSetting"], [_setSettingDecs, 18, "setSetting"], [_setMediaDecs, 18, "setMedia"]], []).e, 2);
218
+ _init__settingConfig = _applyDecs$e[0];
219
+ _initProto = _applyDecs$e[1];
220
+ (0, _base.registerDependency)('sharedSettingDataSource');
@@ -0,0 +1,5 @@
1
+ export interface FcrUISharedSpeakerSpotlightDataSource {
2
+ }
3
+ export declare class FcrUISharedSpeakerSpotlightDataSourceImpl implements FcrUISharedSpeakerSpotlightDataSource {
4
+ constructor();
5
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FcrUISharedSpeakerSpotlightDataSourceImpl = void 0;
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _base = require("../base");
12
+ var FcrUISharedSpeakerSpotlightDataSourceImpl = exports.FcrUISharedSpeakerSpotlightDataSourceImpl = /*#__PURE__*/(0, _createClass2["default"])(function FcrUISharedSpeakerSpotlightDataSourceImpl() {
13
+ (0, _classCallCheck2["default"])(this, FcrUISharedSpeakerSpotlightDataSourceImpl);
14
+ });
15
+ (0, _base.registerDependency)('sharedSpeakerSpotlightDataSource');
@@ -0,0 +1,165 @@
1
+ import { FcrUIVideoWindowData, FcrUIVideoWindowFoldSortingPriority, FcrUIVideoWindowLayoutType, FcrUIVideoWindowMainSortingPriority, FcrUIWindowType } from './../type';
2
+ import { FcrStreamInfo, FcrUserInfo, FcrUserRole } from 'fcr-core/lib/type';
3
+ import { FcrAudioSourceType, FcrRoomConnectorType, FcrVideoSourceType } from 'fcr-core';
4
+ import { FcrUISharedSettingDataSource } from './setting';
5
+ type FcrStreamUIData = Omit<FcrStreamInfo, 'owner'> & {
6
+ owner: FcrUserInfo;
7
+ };
8
+ export interface FcrUIVideoWindowDataSource {
9
+ addPin(streamId: string): boolean;
10
+ removePin(streamId: string): void;
11
+ layoutType: FcrUIVideoWindowLayoutType;
12
+ manualLayout: FcrUIVideoWindowLayoutType | undefined;
13
+ mainList: FcrUIVideoWindowDataImpl[];
14
+ foldList: FcrUIVideoWindowDataImpl[];
15
+ toggleMainStream(streamId: string): boolean;
16
+ setLayout(layout: FcrUIVideoWindowLayoutType, manual?: boolean): void;
17
+ update(param: FcrStreamInfo | FcrUserInfo): void;
18
+ add(stream: FcrStreamInfo, isMySelf: boolean): void;
19
+ delete(stream: FcrStreamInfo): void;
20
+ addBoard(userInfo: FcrUserInfo, isMySelf: boolean, canEdit?: boolean): void;
21
+ updateBoard(canEdit: boolean): void;
22
+ removeBoard(): void;
23
+ addObserver(observer: Partial<FcrUIVideoWindowDataSourceObserver>): void;
24
+ removeObserver(observer: FcrUIVideoWindowDataSourceObserver): void;
25
+ setSpotlightEnabled(enabled: boolean): void;
26
+ setSpeakerSpotlight(streamId: string): void;
27
+ spotlightStreamId: string;
28
+ shouldHideNonVideoParticipants: boolean;
29
+ release(): void;
30
+ }
31
+ export declare class FcrUIVideoWindowDataImpl implements FcrUIVideoWindowData {
32
+ private _placement;
33
+ private _isMySelf;
34
+ private accessor _boardUserInfo;
35
+ private _layoutType;
36
+ private accessor _videoStream;
37
+ private accessor _audioStream;
38
+ private accessor _spotlightEnabled;
39
+ private accessor _isSpeakerSpotlight;
40
+ private accessor _boardCanEdit;
41
+ private accessor _isFirstCameraOpen;
42
+ needToSort: boolean;
43
+ type: FcrUIWindowType;
44
+ accessor isPin: boolean;
45
+ accessor hasScreenSharing: boolean;
46
+ accessor hasBoardSharing: boolean;
47
+ accessor hasLoopbackSharing: boolean;
48
+ get isSpeakerSpotlight(): boolean;
49
+ get windowId(): string;
50
+ get videoStreamId(): string | undefined;
51
+ get audioStreamId(): string | undefined;
52
+ get audioStreamConnectorType(): FcrRoomConnectorType;
53
+ get videoStreamConnectorType(): FcrRoomConnectorType;
54
+ get hasMicrophoneAudioStream(): boolean;
55
+ get hasLoopbackAudioStream(): boolean;
56
+ get phoneMicEnabled(): boolean;
57
+ get hasVideoStream(): boolean;
58
+ get hasBoard(): boolean;
59
+ get userId(): string;
60
+ get userName(): string;
61
+ get ownerRoleType(): FcrUserRole;
62
+ get videoSourceType(): FcrVideoSourceType.CAMERA | FcrVideoSourceType.SCREEN;
63
+ get audioSourceType(): FcrAudioSourceType;
64
+ get isMySelf(): boolean;
65
+ get avatar(): string;
66
+ get sortingPriority(): FcrUIVideoWindowMainSortingPriority | FcrUIVideoWindowFoldSortingPriority;
67
+ constructor(type: FcrUIWindowType, { videoStream, audioStream, boardUserInfo, }: {
68
+ videoStream?: FcrStreamUIData;
69
+ audioStream?: FcrStreamUIData;
70
+ boardUserInfo?: FcrUserInfo;
71
+ }, _placement: 'main-list' | 'fold-list', _isMySelf: boolean, layoutType: FcrUIVideoWindowLayoutType | undefined, spotlightEnabled: boolean, canEdit?: boolean);
72
+ setLayoutType(layoutType: FcrUIVideoWindowLayoutType): void;
73
+ setIsFirstCameraOpen(isFirstCameraOpen: boolean): void;
74
+ setVideoStream(videoStream: FcrStreamUIData | undefined): void;
75
+ setVideoStreamOwnerInfo(userInfo: FcrUserInfo): void;
76
+ setAudioStream(audioStream: FcrStreamUIData | undefined): void;
77
+ setAudioStreamOwnerInfo(userInfo: FcrUserInfo): void;
78
+ setPin(pin: boolean): void;
79
+ setSpotlightEnabled(enabled: boolean): void;
80
+ setHasBoardSharing(isSharing: boolean): void;
81
+ setBoardUserInfo(userInfo: FcrUserInfo): void;
82
+ setSpeakerSpotlight(speakerSpotlight: boolean): void;
83
+ setHasScreenSharing(screenSharing: boolean): void;
84
+ setHasLoopbackSharing(hasLoopbackSharing: boolean): void;
85
+ setBoardCanEdit(canEdit: boolean): void;
86
+ getVideoStream(): FcrStreamUIData | undefined;
87
+ }
88
+ export interface FcrUIVideoWindowDataSourceObserver {
89
+ onLayoutUpdated?: (layout: FcrUIVideoWindowLayoutType) => void;
90
+ onMainListAdded?: (index: number) => void;
91
+ onMainListUpdated?: (index: number) => void;
92
+ onMainListRemoved?: (index: number) => void;
93
+ onFoldListAdded?: (index: number) => void;
94
+ onFoldListUpdated?: (index: number) => void;
95
+ onFoldListRemoved?: (index: number) => void;
96
+ onSpotlightAdded?: (streamId: string) => void;
97
+ onSpotlightRemoved?: (streamId: string) => void;
98
+ }
99
+ export declare class FcrUIVideoWindowDataSourceImpl implements FcrUIVideoWindowDataSource {
100
+ private _sharedSettingDataSource;
101
+ private _observer;
102
+ private _spotlightPool;
103
+ accessor spotlightEnabled: boolean;
104
+ accessor layoutType: FcrUIVideoWindowLayoutType;
105
+ accessor manualLayout: FcrUIVideoWindowLayoutType | undefined;
106
+ accessor pinLimitedCount: number;
107
+ accessor mainListLimitedCount: number;
108
+ accessor foldListLimitedCount: number;
109
+ accessor mainList: FcrUIVideoWindowDataImpl[];
110
+ accessor foldList: FcrUIVideoWindowDataImpl[];
111
+ accessor spotlightStreamId: string;
112
+ constructor(_sharedSettingDataSource: FcrUISharedSettingDataSource);
113
+ get shouldHideNonVideoParticipants(): boolean;
114
+ setSpotlightEnabled(enabled: boolean): void;
115
+ setLayout(layout: FcrUIVideoWindowLayoutType, manual?: boolean): void;
116
+ onSpotlightRemoved(streamId: string): void;
117
+ resetList(): void;
118
+ addBoard(userInfo: FcrUserInfo, isMySelf: boolean, canEdit?: boolean): void;
119
+ updateBoard(canEdit: boolean): void;
120
+ removeBoard(): void;
121
+ private _mergePstnStreamOrInsertNewData;
122
+ add(stream: FcrStreamInfo, isMySelf: boolean): void;
123
+ update(stream: FcrStreamInfo): void;
124
+ update(user: FcrUserInfo): void;
125
+ delete(stream: FcrStreamInfo): void;
126
+ addPin(streamId: string): boolean;
127
+ private _updateSpeakerSpotlightPosition;
128
+ removePin(streamId: string): true | undefined;
129
+ setSpeakerSpotlight(streamId: string): void;
130
+ toggleMainStream(windowId: string): boolean;
131
+ clearSpeakerSpotlight(): void;
132
+ addObserver(observer: FcrUIVideoWindowDataSourceObserver): void;
133
+ removeObserver(observer: FcrUIVideoWindowDataSourceObserver): void;
134
+ release(): void;
135
+ private copyStreamInfo;
136
+ private _syncHasScreenSharing;
137
+ private _insertByPriority;
138
+ private _insertBeginningByPriority;
139
+ private _insertEndByPriority;
140
+ private _findInsertBeginningIndex;
141
+ private _findInsertEndIndex;
142
+ private _findCurrentSpeakerSpotlight;
143
+ private _findItemIndexWithWindowId;
144
+ private _findItemIndexWithAudioStreamId;
145
+ private _insertBoard;
146
+ private _insertNewData;
147
+ }
148
+ export declare class FcrUISpeakerSpotlightPool {
149
+ streams: Map<string, number>;
150
+ limitCount: number;
151
+ duration: number;
152
+ private _timer;
153
+ private _observer;
154
+ constructor();
155
+ add(streamId: string): boolean;
156
+ private _scan;
157
+ clear(): void;
158
+ addObserver(observer: {
159
+ onRemoved: (streamId: string) => void;
160
+ }): void;
161
+ removeObserver(observer: {
162
+ onRemoved: (streamId: string) => void;
163
+ }): void;
164
+ }
165
+ export {};