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,44 @@
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.Annotation = void 0;
9
+ var _mobxReact = require("mobx-react");
10
+ var _react = require("react");
11
+ var _store = require("./store");
12
+ require("./style.css");
13
+ require("./board-cursor.css");
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+ var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
16
+ var _annotationToolbarStore = require("./annotation-toolbar-store");
17
+ var _annotationIndex = require("./annotation-index");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ var Annotation = exports.Annotation = (0, _mobxReact.observer)(function () {
20
+ var _useContext = (0, _react.useContext)(_store.AnnotationStoreContext),
21
+ handleBoardDomLoad = _useContext.handleBoardDomLoad,
22
+ isShowToolbar = _useContext.isShowToolbar,
23
+ getToolbarStore = _useContext.getToolbarStore,
24
+ currentTool = _useContext.currentTool;
25
+ var cursorClassname = isShowToolbar ? "board-widget-cursor-".concat([_enums.FcrBoardToolType[currentTool || _enums.FcrBoardToolType.NONE]]) : 'board-widget-cursor-normal';
26
+ var boardWidgetAppCls = (0, _classnames["default"])('fcr-annotation-receiver-wrapper', 'netless-whiteboard-wrapper', {
27
+ 'fcr-annotation-receiver-wrapper--editing': isShowToolbar
28
+ }, cursorClassname.toLowerCase());
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
30
+ className: boardWidgetAppCls,
31
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
32
+ className: "annotation-container",
33
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_annotationToolbarStore.AnnotationReceiverToolbarContext.Provider, {
34
+ value: getToolbarStore(),
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
36
+ className: "annotation-main",
37
+ ref: handleBoardDomLoad
38
+ }), isShowToolbar ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_annotationIndex.Toolbar, {}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
39
+ className: "annotation-action-prevent"
40
+ })]
41
+ })
42
+ })
43
+ });
44
+ });
@@ -151,8 +151,10 @@ var AudioStreamUIModule = exports.AudioStreamUIModule = /*#__PURE__*/function (_
151
151
  streams.forEach(function (stream) {
152
152
  if (stream.owner.userId !== _this._localUser.userId) {
153
153
  var isAudioPublished = stream.streamType === _fcrCore.FcrStreamType.AUDIO || stream.streamType === _fcrCore.FcrStreamType.BOTH;
154
- var isAudioDeviceStarted = stream.audioSourceState === _fcrCore.FcrMediaSourceState.OPEN;
155
- if (isAudioPublished && isAudioDeviceStarted) {
154
+
155
+ // const isAudioDeviceStarted = stream.audioSourceState === FcrMediaSourceState.OPEN;
156
+
157
+ if (isAudioPublished) {
156
158
  _this.logger.info('start play remote audio', stream.streamId);
157
159
  streamControl.startPlayRemoteAudioStream(stream.streamId);
158
160
  } else {
@@ -107,3 +107,11 @@
107
107
  .fcr-line-message-container {
108
108
  width: 100%;
109
109
  }
110
+
111
+ .fcr-chat-container-box-web {
112
+ height: 100%;
113
+ }
114
+
115
+ .fcr-chat-container-box-electron {
116
+ height: calc(100% - 46px);
117
+ }
@@ -50,6 +50,8 @@ var _fcrCore = require("fcr-core");
50
50
  var _types = require("./types");
51
51
  var _chatTabs = _interopRequireDefault(require("./components/chat-tabs"));
52
52
  var _browserApi = require("../../utilities/browser-api");
53
+ var _classnames = _interopRequireDefault(require("classnames"));
54
+ var _env = require("agora-foundation/lib/utilities/env");
53
55
  var _jsxRuntime = require("react/jsx-runtime");
54
56
  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; }
55
57
  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; }
@@ -194,7 +196,11 @@ var Chat = exports.Chat = (0, _mobxReact.observer)(function (_ref) {
194
196
  }
195
197
  });
196
198
  };
197
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
199
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
200
+ className: (0, _classnames["default"])({
201
+ 'fcr-chat-container-box-web': !(0, _env.isElectron)(),
202
+ 'fcr-chat-container-box-electron': (0, _env.isElectron)()
203
+ }),
198
204
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_chatTabs["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
199
205
  style: _objectSpread({}, styles),
200
206
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_chatWrapper.ChatWrapper, {
@@ -11,6 +11,8 @@
11
11
  .fcr-whiteboard-switch-theme-popover {
12
12
  max-width: 100%;
13
13
  width: 100%;
14
+ z-index: 1;
15
+ padding: 0;
14
16
  }
15
17
  .fcr-whiteboard-switch-theme-popover .fcr-tooltip-inner {
16
18
  border-radius: 0 !important;
@@ -38,13 +38,11 @@ var WhiteboardSwitchTheme = function WhiteboardSwitchTheme(props) {
38
38
  width: '100%'
39
39
  },
40
40
  overlayOffset: 4,
41
- showArrow: false
42
- // getTooltipContainer={() => {
43
- // const target = document.getElementById('fcr-whiteboard-controlbar') as HTMLElement;
44
- // console.log({ target });
45
- // return target;
46
- // }}
47
- ,
41
+ showArrow: false,
42
+ getTooltipContainer: function getTooltipContainer() {
43
+ var target = document.getElementById('fcr-whiteboard-controlbar');
44
+ return target;
45
+ },
48
46
  visible: whiteboardVisible,
49
47
  content: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
50
48
  className: "fcr-whiteboard-switch-theme",
@@ -21,12 +21,10 @@
21
21
  }
22
22
  .fcr-whiteboard-controlbar-body {
23
23
  width: 100%;
24
- height: 100%;
25
24
  /* display: flex;
26
25
  align-items: center;
27
26
  justify-content: center; */
28
27
  position: absolute;
29
- top: 0;
30
28
  bottom: 0;
31
29
  background-color: #e5e7eb;
32
30
  }
@@ -20,6 +20,7 @@ type WhiteboardProps = {
20
20
  isSharingWithAudio?: boolean;
21
21
  ownerUserName: string;
22
22
  isMyBoard: boolean;
23
+ showControlBar?: boolean;
23
24
  };
24
25
  type PickRequired<T extends object, K extends keyof T> = Required<Pick<T, K>> & Omit<T, K>;
25
26
  type SharingType<T extends 'whiteboard' | 'screenshare' | undefined> = T extends 'whiteboard' ? WhiteboardProps : PickRequired<Partial<WhiteboardProps>, 'onZoomIn' | 'onZoomOut' | 'onAdaptive' | 'onOrigin' | 'isSharingWithAudio'>;
@@ -21,9 +21,10 @@ var _i18n = require("agora-ui-foundation/lib/i18n");
21
21
  var _type2 = require("../../whiteboard/type");
22
22
  var _enums = require("fcr-core/lib/room-control/whiteboard-control/enums");
23
23
  require("./index.css");
24
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
24
25
  var _jsxRuntime = require("react/jsx-runtime");
25
26
  var initWidth = 1920;
26
- var initHeight = 1220;
27
+ var initHeight = 1080;
27
28
  var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardControlbar(props) {
28
29
  var transI18n = (0, _i18n.useI18n)();
29
30
  var onClose = props.onClose,
@@ -43,7 +44,9 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
43
44
  onZoomOut = props.onZoomOut,
44
45
  onAdaptive = props.onAdaptive,
45
46
  onOrigin = props.onOrigin,
46
- isSharingWithAudio = props.isSharingWithAudio;
47
+ isSharingWithAudio = props.isSharingWithAudio,
48
+ _props$showControlBar = props.showControlBar,
49
+ showControlBar = _props$showControlBar === void 0 ? true : _props$showControlBar;
47
50
  var boardRef = (0, _react.useRef)(undefined);
48
51
  var _useState = (0, _react.useState)(false),
49
52
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -81,16 +84,32 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
81
84
  var cursor = (0, _react.useMemo)(function () {
82
85
  return _enums.FcrBoardToolType[currentTool || _enums.FcrBoardToolType.NONE].toLowerCase();
83
86
  }, [currentTool]);
87
+ var resetHeight = (0, _react.useCallback)(function () {
88
+ var _boardRef$current;
89
+ var height = ((_boardRef$current = boardRef.current) === null || _boardRef$current === void 0 ? void 0 : _boardRef$current.clientHeight) || 0;
90
+ setContianHeight(height);
91
+ }, []);
92
+ var resetHeightDebounce = (0, _react.useCallback)((0, _debounce["default"])(resetHeight, 100), []);
93
+ var ratio = (0, _react.useMemo)(function () {
94
+ var ratio = contianHeight / initHeight;
95
+ return ratio;
96
+ }, [contianHeight, initHeight]);
84
97
  (0, _react.useEffect)(function () {
98
+ window.addEventListener('resize', resetHeightDebounce);
85
99
  return function () {
86
- return setLoading(false);
100
+ setLoading(false);
101
+ window.removeEventListener('resize', resetHeightDebounce);
102
+ if (boardRef.current) {
103
+ boardRef.current.removeEventListener('transitionend', resetHeight);
104
+ }
87
105
  };
88
106
  }, []);
89
107
  var handleBoardRef = function handleBoardRef(ref) {
90
- var _boardRef$current;
91
108
  boardRef.current = ref;
92
- var height = ((_boardRef$current = boardRef.current) === null || _boardRef$current === void 0 ? void 0 : _boardRef$current.clientHeight) || 0;
93
- setContianHeight(height);
109
+ resetHeight();
110
+ if (boardRef.current) {
111
+ boardRef.current.addEventListener('transitionend', resetHeight);
112
+ }
94
113
  };
95
114
  var showEditButton = !controlEnabled && !isMyBoard && !isHost && isWhiteboard;
96
115
  var showChangeThemeButton = (canWriteBoard || isMyBoard || isHost) && setTheme && currentTheme;
@@ -102,16 +121,18 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
102
121
  setIsMaxmum(false);
103
122
  setIsAdaptived(false);
104
123
  setIsOriginal(false);
105
- var step = 3;
124
+ var max = 3;
125
+ var step = 0.5;
106
126
  if (oprate === _type2.WhiteboardControlbarEvents.ZOOMIN) {
107
127
  if (onZoomIn) {
108
128
  var result = onZoomIn();
109
129
  setIsMaxmum(!result);
110
130
  return;
111
131
  }
112
- if (scaleValue < step) {
132
+ if (scaleValue < max) {
113
133
  setIsMaxmum(false);
114
- setScaleValue(scaleValue + 1);
134
+ var zoomIn = scaleValue + step;
135
+ setScaleValue(zoomIn);
115
136
  } else {
116
137
  setIsMaxmum(true);
117
138
  }
@@ -123,7 +144,9 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
123
144
  return;
124
145
  }
125
146
  if (scaleValue > 1) {
126
- setScaleValue(scaleValue - 1);
147
+ var zoomOut = scaleValue - step;
148
+ var diff = zoomOut % step;
149
+ setScaleValue(diff === 0 ? zoomOut : zoomOut - diff);
127
150
  } else {
128
151
  setIsMinimum(true);
129
152
  }
@@ -134,8 +157,11 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
134
157
  setIsOriginal(!_result2);
135
158
  return;
136
159
  }
160
+ // 如果容器高和画布原始高度的比值小于1,代表画布原始高比容器大,则设置放大倍率用 1 + 比率
161
+ // 如果容器高和画布原始告诉的比值大于1,代表容器比画布原始高度大,则设置放大倍率为原始高度和容器高度的比率
162
+ var origin = ratio < 1 ? 1 + ratio : initHeight / contianHeight;
137
163
  setIsOriginal(true);
138
- setScaleValue(1);
164
+ setScaleValue(origin);
139
165
  }
140
166
  if (oprate === _type2.WhiteboardControlbarEvents.ADAPTIVE) {
141
167
  if (onAdaptive) {
@@ -144,15 +170,23 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
144
170
  return;
145
171
  }
146
172
  setIsAdaptived(true);
147
- setScaleValue(2);
173
+ setScaleValue(1);
148
174
  }
149
175
  }
150
176
  var width = (0, _react.useMemo)(function () {
177
+ if (scaleValue === ratio) return initWidth;
151
178
  return initWidth * (contianHeight / initHeight) * scaleValue;
152
179
  }, [contianHeight, scaleValue]);
153
180
  var height = (0, _react.useMemo)(function () {
181
+ if (scaleValue === ratio) return initHeight;
154
182
  return initHeight * (contianHeight / initHeight) * scaleValue;
155
183
  }, [contianHeight, scaleValue]);
184
+ var top = (0, _react.useMemo)(function () {
185
+ if (contianHeight > height) return (contianHeight - height) / 2;
186
+ if (height === contianHeight) return 0;
187
+ if (scaleValue === 1) return 0;
188
+ return "-".concat((height - contianHeight) / 2, "px");
189
+ }, [height, contianHeight, scaleValue]);
156
190
  var preventAction = (0, _react.useMemo)(function () {
157
191
  var prevent = true;
158
192
 
@@ -175,7 +209,7 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
175
209
  style: {
176
210
  height: isWhiteboard ? '100%' : 'auto'
177
211
  },
178
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
212
+ children: [showControlBar && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
179
213
  className: "fcr-whiteboard-controlbar-header",
180
214
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
181
215
  className: "fcr-whiteboard-controlbar-left",
@@ -307,7 +341,9 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
307
341
  className: "fcr-whiteboard-controlbar-body",
308
342
  ref: handleBoardRef,
309
343
  style: {
310
- backgroundColor: '#e5e7eb'
344
+ backgroundColor: '#e5e7eb',
345
+ height: showControlBar ? 'calc(100% - 28px)' : '100%',
346
+ top: showControlBar ? '28px' : '0'
311
347
  },
312
348
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
313
349
  className: "fcr-whiteboard-controlbar-body-content",
@@ -317,7 +353,7 @@ var WhiteboardControlbar = exports.WhiteboardControlbar = function WhiteboardCon
317
353
  position: 'absolute',
318
354
  left: "-".concat(width / 2, "px"),
319
355
  marginLeft: '50%',
320
- top: "-".concat((height - contianHeight) / 2, "px")
356
+ top: top
321
357
  },
322
358
  children: [onBoardDomLoaded && preventAction && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
323
359
  className: "whiteboard-action-prevent"
@@ -0,0 +1,42 @@
1
+ import { DeviceSettingDialogConfig } from '../../setting/store';
2
+ import { FcrMainRoomControl, FcrWaitingRoomControl } from 'fcr-core/lib/room-control/type';
3
+ import { ConnectionTabType } from '../../video-window/type';
4
+ import { FcrUIDeviceProvider } from '../../../providers/device-provider';
5
+ import { FcrUISharedDevicePrivilegeDataSource } from '../../../shared-data-source/device-privilege-data';
6
+ import { FcrUIDeviceStreamProvider } from '../../../providers/device-stream-provider';
7
+ import { FcrUIDialogProvider } from '../../../providers/dialog-provider';
8
+ export declare class DeviceControlStore {
9
+ private _roomControl;
10
+ private _deviceProvider;
11
+ private _dialogProvider;
12
+ private _deviceStreamProvider;
13
+ private _sharedDevicePrivilegeDataSource;
14
+ private _connectionWindowId;
15
+ private _streamControlObserver;
16
+ accessor isPstnUser: boolean;
17
+ accessor phoneMicEnabled: boolean;
18
+ get microphoneId(): string | null;
19
+ get speakerId(): string;
20
+ get speakerList(): import("agora-rte-sdk").AgoraRtcDeviceInfo[];
21
+ get microphoneEnabled(): boolean;
22
+ get cameraId(): string;
23
+ get cameraEnabled(): boolean;
24
+ get microphoneVolumeLevel(): number;
25
+ get microphoneList(): import("agora-rte-sdk").AgoraRtcDeviceInfo[];
26
+ get cameraList(): import("agora-rte-sdk").AgoraRtcDeviceInfo[];
27
+ get connectType(): import("../../../type").FcrUIConnectType;
28
+ constructor(_roomControl: FcrMainRoomControl | FcrWaitingRoomControl, _deviceProvider: FcrUIDeviceProvider, _dialogProvider: FcrUIDialogProvider, _deviceStreamProvider: FcrUIDeviceStreamProvider, _sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource);
29
+ openDeviceSettingDialog(arg: Partial<DeviceSettingDialogConfig>): void;
30
+ openConnection(type: ConnectionTabType): void;
31
+ closeConnection(): void;
32
+ checkMediaPermission(mediaType: 'camera' | 'microphone'): void;
33
+ enableCamera(enable: boolean): void;
34
+ enableMicrophone(enable: boolean): void;
35
+ setSpeakerId(speakerId: string): void;
36
+ setMicrophoneId(microphoneId: string): void;
37
+ setCameraId(cameraId: string): void;
38
+ stopAudioByComputer(): void;
39
+ release(): void;
40
+ private _handleStreamUpdate;
41
+ }
42
+ export declare const DeviceControlStoreContext: import("react").Context<DeviceControlStore>;
@@ -0,0 +1,241 @@
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.bind.js");
12
+ require("core-js/modules/es.function.name.js");
13
+ require("core-js/modules/es.map.js");
14
+ require("core-js/modules/es.number.constructor.js");
15
+ require("core-js/modules/es.object.create.js");
16
+ require("core-js/modules/es.object.define-property.js");
17
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
18
+ require("core-js/modules/esnext.function.metadata.js");
19
+ require("core-js/modules/esnext.map.delete-all.js");
20
+ require("core-js/modules/esnext.map.emplace.js");
21
+ require("core-js/modules/esnext.map.every.js");
22
+ require("core-js/modules/esnext.map.filter.js");
23
+ require("core-js/modules/esnext.map.find.js");
24
+ require("core-js/modules/esnext.map.find-key.js");
25
+ require("core-js/modules/esnext.map.includes.js");
26
+ require("core-js/modules/esnext.map.key-of.js");
27
+ require("core-js/modules/esnext.map.map-keys.js");
28
+ require("core-js/modules/esnext.map.map-values.js");
29
+ require("core-js/modules/esnext.map.merge.js");
30
+ require("core-js/modules/esnext.map.reduce.js");
31
+ require("core-js/modules/esnext.map.some.js");
32
+ require("core-js/modules/esnext.map.update.js");
33
+ require("core-js/modules/esnext.symbol.metadata.js");
34
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
35
+ var _typeof = require("@babel/runtime/helpers/typeof");
36
+ Object.defineProperty(exports, "__esModule", {
37
+ value: true
38
+ });
39
+ exports.DeviceControlStoreContext = exports.DeviceControlStore = void 0;
40
+ require("core-js/modules/es.array.find.js");
41
+ require("core-js/modules/es.array.iterator.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.find.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.iterator.js");
50
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
51
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
52
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
53
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
54
+ var _react = require("react");
55
+ var _fcrCore = require("fcr-core");
56
+ var _mobx = require("mobx");
57
+ var _type = require("fcr-core/lib/type");
58
+ var _decorator = require("agora-foundation/lib/decorator");
59
+ var _constant = require("../../../utilities/constant");
60
+ var _DeviceControlStore;
61
+ var _initProto, _init_isPstnUser, _init_phoneMicEnabled, _openDeviceSettingDialogDecs, _openConnectionDecs, _closeConnectionDecs, _checkMediaPermissionDecs, _enableCameraDecs, _enableMicrophoneDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setCameraIdDecs, _ref;
62
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
63
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
64
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
65
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
66
+ 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"); }
67
+ 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)]; } }; }
68
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
69
+ 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); }
70
+ 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; }
71
+ 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; }
72
+ var _A = /*#__PURE__*/new WeakMap();
73
+ var _B = /*#__PURE__*/new WeakMap();
74
+ _ref = (_openDeviceSettingDialogDecs = [_mobx.action, _mobx.action.bound], _openConnectionDecs = [_mobx.action, _mobx.action.bound], _closeConnectionDecs = [_mobx.action, _mobx.action.bound], _checkMediaPermissionDecs = [_mobx.action, _mobx.action.bound], _enableCameraDecs = [_mobx.action, _mobx.action.bound], _enableMicrophoneDecs = [_mobx.action, _mobx.action.bound], _setSpeakerIdDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneIdDecs = [_mobx.action, _mobx.action.bound], _setCameraIdDecs = [_mobx.action, _mobx.action.bound], "_connectionWindowId");
75
+ var DeviceControlStore = exports.DeviceControlStore = /*#__PURE__*/function () {
76
+ function DeviceControlStore(_roomControl, _deviceProvider, _dialogProvider, _deviceStreamProvider, _sharedDevicePrivilegeDataSource) {
77
+ (0, _classCallCheck2["default"])(this, DeviceControlStore);
78
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), ''));
79
+ (0, _defineProperty2["default"])(this, "_streamControlObserver", {
80
+ onStreamsAdded: this._handleStreamUpdate,
81
+ onStreamsRemoved: this._handleStreamUpdate,
82
+ onStreamsUpdated: this._handleStreamUpdate
83
+ });
84
+ _classPrivateFieldInitSpec(this, _A, _init_isPstnUser(this, false));
85
+ _classPrivateFieldInitSpec(this, _B, _init_phoneMicEnabled(this, false));
86
+ this._roomControl = _roomControl;
87
+ this._deviceProvider = _deviceProvider;
88
+ this._dialogProvider = _dialogProvider;
89
+ this._deviceStreamProvider = _deviceStreamProvider;
90
+ this._sharedDevicePrivilegeDataSource = _sharedDevicePrivilegeDataSource;
91
+ this._roomControl.getStreamControl().addObserver(this._streamControlObserver);
92
+ }
93
+ return (0, _createClass2["default"])(DeviceControlStore, [{
94
+ key: "isPstnUser",
95
+ get: function get() {
96
+ return _classPrivateFieldGet(_A, this);
97
+ },
98
+ set: function set(v) {
99
+ _classPrivateFieldSet(_A, this, v);
100
+ }
101
+ }, {
102
+ key: "phoneMicEnabled",
103
+ get: function get() {
104
+ return _classPrivateFieldGet(_B, this);
105
+ },
106
+ set: function set(v) {
107
+ _classPrivateFieldSet(_B, this, v);
108
+ }
109
+ }, {
110
+ key: "microphoneId",
111
+ get: function get() {
112
+ return this._deviceProvider.microphoneId;
113
+ }
114
+ }, {
115
+ key: "speakerId",
116
+ get: function get() {
117
+ return this._deviceProvider.speakerId;
118
+ }
119
+ }, {
120
+ key: "speakerList",
121
+ get: function get() {
122
+ return this._deviceProvider.speakerList;
123
+ }
124
+ }, {
125
+ key: "microphoneEnabled",
126
+ get: function get() {
127
+ return this._deviceProvider.microphoneEnabled;
128
+ }
129
+ }, {
130
+ key: "cameraId",
131
+ get: function get() {
132
+ return this._deviceProvider.cameraId;
133
+ }
134
+ }, {
135
+ key: "cameraEnabled",
136
+ get: function get() {
137
+ return this._deviceProvider.cameraEnabled;
138
+ }
139
+ }, {
140
+ key: "microphoneVolumeLevel",
141
+ get: function get() {
142
+ return this._deviceProvider.microphoneVolumeLevel;
143
+ }
144
+ }, {
145
+ key: "microphoneList",
146
+ get: function get() {
147
+ return this._deviceProvider.microphoneList;
148
+ }
149
+ }, {
150
+ key: "cameraList",
151
+ get: function get() {
152
+ return this._deviceProvider.cameraList;
153
+ }
154
+ }, {
155
+ key: "connectType",
156
+ get: function get() {
157
+ return this._deviceProvider.connectType;
158
+ }
159
+ }, {
160
+ key: "openDeviceSettingDialog",
161
+ value: function openDeviceSettingDialog(arg) {
162
+ this._dialogProvider.openDeviceSettingDialog(arg);
163
+ }
164
+ }, {
165
+ key: "openConnection",
166
+ value: function openConnection(type) {
167
+ this._connectionWindowId = this._dialogProvider.openDialog(_constant.FcrUIDialogKey.CONNECTION_GATEWAY, '', {
168
+ type: type
169
+ });
170
+ }
171
+ }, {
172
+ key: "closeConnection",
173
+ value: function closeConnection() {
174
+ this._dialogProvider.closeDialog(this._connectionWindowId);
175
+ }
176
+ }, {
177
+ key: "checkMediaPermission",
178
+ value: function checkMediaPermission(mediaType) {
179
+ this._deviceStreamProvider.checkoutDevicePermission(mediaType);
180
+ }
181
+ }, {
182
+ key: "enableCamera",
183
+ value: function enableCamera(enable) {
184
+ this._deviceStreamProvider.enableCameraWithPreCheck(enable);
185
+ }
186
+ }, {
187
+ key: "enableMicrophone",
188
+ value: function enableMicrophone(enable) {
189
+ this._deviceStreamProvider.enableMicrophoneWithPreCheck(enable);
190
+ this._sharedDevicePrivilegeDataSource.setShouldIncludeMicrophone(true);
191
+ }
192
+ }, {
193
+ key: "setSpeakerId",
194
+ value: function setSpeakerId(speakerId) {
195
+ this._deviceProvider.setSpeakerId(speakerId);
196
+ }
197
+ }, {
198
+ key: "setMicrophoneId",
199
+ value: function setMicrophoneId(microphoneId) {
200
+ this._deviceProvider.setMicrophoneId(microphoneId);
201
+ }
202
+ }, {
203
+ key: "setCameraId",
204
+ value: function setCameraId(cameraId) {
205
+ this._deviceProvider.setCameraId(cameraId);
206
+ }
207
+ }, {
208
+ key: "stopAudioByComputer",
209
+ value: function stopAudioByComputer() {
210
+ this._deviceProvider.disconnectAudio();
211
+ }
212
+ }, {
213
+ key: "release",
214
+ value: function release() {
215
+ this._roomControl.getStreamControl().removeObserver(this._streamControlObserver);
216
+ }
217
+ }, {
218
+ key: "_handleStreamUpdate",
219
+ value: function _handleStreamUpdate() {
220
+ var _this$_roomControl$ge2;
221
+ var _this$_roomControl$ge = (_this$_roomControl$ge2 = this._roomControl.getUserControl()) === null || _this$_roomControl$ge2 === void 0 ? void 0 : _this$_roomControl$ge2.getLocalUser(),
222
+ userId = _this$_roomControl$ge.userId;
223
+ var streams = this._roomControl.getStreamControl().getStreamsByUserId(userId);
224
+ var pstnStream = streams.find(function (_ref2) {
225
+ var connectorType = _ref2.connectorType;
226
+ return connectorType === _fcrCore.FcrRoomConnectorType.PSTN;
227
+ });
228
+ var hasPstnStream = !!pstnStream;
229
+ this.isPstnUser = hasPstnStream;
230
+ if (hasPstnStream) {
231
+ this.phoneMicEnabled = pstnStream.streamType === _type.FcrStreamType.BOTH || pstnStream.audioSourceState === _fcrCore.FcrMediaSourceState.OPEN;
232
+ }
233
+ }
234
+ }]);
235
+ }();
236
+ _DeviceControlStore = DeviceControlStore;
237
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_DeviceControlStore, [[_mobx.observable, 1, "isPstnUser"], [_mobx.observable, 1, "phoneMicEnabled"], [_mobx.computed, 3, "microphoneId"], [_mobx.computed, 3, "speakerId"], [_mobx.computed, 3, "speakerList"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.computed, 3, "cameraId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "microphoneVolumeLevel"], [_mobx.computed, 3, "microphoneList"], [_mobx.computed, 3, "cameraList"], [_mobx.computed, 3, "connectType"], [_openDeviceSettingDialogDecs, 18, "openDeviceSettingDialog"], [_openConnectionDecs, 18, "openConnection"], [_closeConnectionDecs, 18, "closeConnection"], [_checkMediaPermissionDecs, 18, "checkMediaPermission"], [_enableCameraDecs, 18, "enableCamera"], [_enableMicrophoneDecs, 18, "enableMicrophone"], [_setSpeakerIdDecs, 18, "setSpeakerId"], [_setMicrophoneIdDecs, 18, "setMicrophoneId"], [_setCameraIdDecs, 18, "setCameraId"], [_decorator.bound, 2, "stopAudioByComputer"], [_decorator.bound, 2, "release"], [_decorator.bound, 2, "_handleStreamUpdate"]], []).e, 3);
238
+ _init_isPstnUser = _applyDecs$e[0];
239
+ _init_phoneMicEnabled = _applyDecs$e[1];
240
+ _initProto = _applyDecs$e[2];
241
+ var DeviceControlStoreContext = exports.DeviceControlStoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -4,7 +4,10 @@ import { FcrPlatform } from 'fcr-core/lib/type';
4
4
  export default class LeaveMeetingStoreMain extends LeaveMeetingStoreBase {
5
5
  private _sharedMemberDataSource;
6
6
  private _abilityProvider;
7
+ private _memberDataSource;
7
8
  constructor(args: LeaveMeetingStoreArgs);
9
+ get localUserId(): string;
10
+ get localUserRole(): import("fcr-core/lib/type").FcrUserRole;
8
11
  get hostAvailibleRemoteUsers(): import("fcr-core/lib/type").FcrUserInfo[];
9
12
  get isPstnUser(): boolean;
10
13
  isHostSupportedByPlatform(platform: FcrPlatform): boolean;
@@ -73,10 +73,22 @@ var LeaveMeetingStoreMain = exports["default"] = /*#__PURE__*/function (_LeaveMe
73
73
  (0, _defineProperty2["default"])(_this, _ref, void _initProto(_this));
74
74
  _this._sharedMemberDataSource = args.objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEMBER_DATA_SOURCE);
75
75
  _this._abilityProvider = args.objectManager.getObject(_objectManager.FcrUIObjectKeys.P_ABILITY_PROVIDER);
76
+ var memberDataSource = args.objectManager.getObject(_objectManager.FcrUIObjectKeys.S_SHARED_MEMBER_DATA_SOURCE);
77
+ _this._memberDataSource = memberDataSource;
76
78
  return _this;
77
79
  }
78
80
  (0, _inherits2["default"])(LeaveMeetingStoreMain, _LeaveMeetingStoreBas);
79
81
  return (0, _createClass2["default"])(LeaveMeetingStoreMain, [{
82
+ key: "localUserId",
83
+ get: function get() {
84
+ return this._memberDataSource.localUser.userId;
85
+ }
86
+ }, {
87
+ key: "localUserRole",
88
+ get: function get() {
89
+ return this._memberDataSource.localUserRole;
90
+ }
91
+ }, {
80
92
  key: "hostAvailibleRemoteUsers",
81
93
  get: function get() {
82
94
  var _this2 = this;
@@ -1,8 +1,9 @@
1
1
  import { FcrUserInfo, FcrUserRole, FcrPlatform } from 'fcr-core/lib/type';
2
+ import { FcrUserControl } from 'fcr-core';
2
3
  import { LeaveMeetingStoreArgs } from './type';
3
4
  export declare abstract class LeaveMeetingStoreBase {
4
5
  private _roomControl;
5
- private _userControl;
6
+ protected _userControl: FcrUserControl;
6
7
  private _streamControl;
7
8
  private _privilegeProvider;
8
9
  private _dialogProvider;
@@ -12,8 +13,8 @@ export declare abstract class LeaveMeetingStoreBase {
12
13
  accessor canAssign: boolean;
13
14
  accessor loading: boolean;
14
15
  get isLocked(): boolean;
15
- get localUserId(): string;
16
- get localUserRole(): FcrUserRole;
16
+ abstract get localUserId(): string;
17
+ abstract get localUserRole(): FcrUserRole;
17
18
  get hasAssignHostBeforeLeavingPermission(): boolean;
18
19
  get hasEndRoomPermission(): boolean;
19
20
  abstract get hostAvailibleRemoteUsers(): FcrUserInfo[];