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
@@ -121,16 +121,6 @@ var LeaveMeetingStoreBase = exports.LeaveMeetingStoreBase = /*#__PURE__*/functio
121
121
  get: function get() {
122
122
  return this._privilegeProvider.isLockRoomEnabled();
123
123
  }
124
- }, {
125
- key: "localUserId",
126
- get: function get() {
127
- return this._userControl.getLocalUser().userId;
128
- }
129
- }, {
130
- key: "localUserRole",
131
- get: function get() {
132
- return this._userControl.getLocalUser().userRole;
133
- }
134
124
  }, {
135
125
  key: "hasAssignHostBeforeLeavingPermission",
136
126
  get: function get() {
@@ -0,0 +1,39 @@
1
+ import { FcrUserInfo, FcrUserRole, FcrPlatform } from 'fcr-core/lib/type';
2
+ import { FcrUIPrivilegeProvider } from '../../../providers/privilege-provider';
3
+ import { FcrUIRoomProvider } from '../../../providers/room-provider';
4
+ import { FcrBaseRoomControl } from 'fcr-core/lib/room-control/type';
5
+ import { FcrUIMemberSharedDataSource } from '../../../shared-data-source/member-data';
6
+ import { FcrUIAbilityProviderImpl } from '../../../providers/ability-provider';
7
+ import { FcrUIDialogProvider } from '../../../providers/dialog-provider';
8
+ export declare class LeaveMeetingStore {
9
+ private _privilegeProvider;
10
+ private _roomProvider;
11
+ private _roomControl;
12
+ private _sharedMemberDataSource;
13
+ private _abilityProvider;
14
+ private _dialogProvder;
15
+ private _userControl;
16
+ private _streamControl;
17
+ accessor keepConnect: boolean;
18
+ accessor canAssign: boolean;
19
+ accessor loading: boolean;
20
+ get isLocked(): boolean;
21
+ get localUserId(): string;
22
+ get localUserRole(): FcrUserRole;
23
+ get hasAssignHostBeforeLeavingPermission(): boolean;
24
+ get hasEndRoomPermission(): boolean;
25
+ get hostAvailibleRemoteUsers(): FcrUserInfo[];
26
+ get isPstnUser(): boolean;
27
+ get isAssignHostAvailable(): boolean;
28
+ constructor(_privilegeProvider: FcrUIPrivilegeProvider, _roomProvider: FcrUIRoomProvider, _roomControl: FcrBaseRoomControl, _sharedMemberDataSource: FcrUIMemberSharedDataSource, _abilityProvider: FcrUIAbilityProviderImpl, _dialogProvder: FcrUIDialogProvider);
29
+ showEndConfirmDialog(): void;
30
+ isHostSupportedByPlatform(platform: FcrPlatform): boolean;
31
+ assignHost(user: FcrUserInfo): void;
32
+ leave(): Promise<void>;
33
+ keepPhoneAudioConnection(): Promise<void>;
34
+ setCanAssign(value: boolean): void;
35
+ setKeepConnect(value: boolean): void;
36
+ end(): Promise<void>;
37
+ release(): void;
38
+ }
39
+ export declare const LeaveMeetingStoreContext: import("react").Context<LeaveMeetingStore>;
@@ -0,0 +1,270 @@
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.LeaveMeetingStoreContext = exports.LeaveMeetingStore = void 0;
40
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
41
+ require("core-js/modules/es.array.filter.js");
42
+ require("core-js/modules/es.array.iterator.js");
43
+ require("core-js/modules/es.array.some.js");
44
+ require("core-js/modules/es.object.to-string.js");
45
+ require("core-js/modules/es.string.iterator.js");
46
+ require("core-js/modules/es.weak-map.js");
47
+ require("core-js/modules/esnext.iterator.constructor.js");
48
+ require("core-js/modules/esnext.iterator.filter.js");
49
+ require("core-js/modules/esnext.iterator.some.js");
50
+ require("core-js/modules/esnext.weak-map.delete-all.js");
51
+ require("core-js/modules/esnext.weak-map.emplace.js");
52
+ require("core-js/modules/web.dom-collections.iterator.js");
53
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
54
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
55
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
56
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
57
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
58
+ var _type = require("fcr-core/lib/type");
59
+ var _mobx = require("mobx");
60
+ var _react = require("react");
61
+ var _constant = require("../../../utilities/constant");
62
+ var _LeaveMeetingStore;
63
+ var _initProto, _init_keepConnect, _init_canAssign, _init_loading, _showEndConfirmDialogDecs, _isHostSupportedByPlatformDecs, _assignHostDecs, _leaveDecs, _keepPhoneAudioConnectionDecs, _setCanAssignDecs, _setKeepConnectDecs, _endDecs, _ref;
64
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
65
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
66
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
67
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
68
+ 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"); }
69
+ 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)]; } }; }
70
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
71
+ 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); }
72
+ 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; }
73
+ 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; }
74
+ var _A = /*#__PURE__*/new WeakMap();
75
+ var _B = /*#__PURE__*/new WeakMap();
76
+ var _C = /*#__PURE__*/new WeakMap();
77
+ _ref = (_showEndConfirmDialogDecs = [_mobx.action, _mobx.action.bound], _isHostSupportedByPlatformDecs = [_mobx.action, _mobx.action.bound], _assignHostDecs = [_mobx.action, _mobx.action.bound], _leaveDecs = [_mobx.action, _mobx.action.bound], _keepPhoneAudioConnectionDecs = [_mobx.action, _mobx.action.bound], _setCanAssignDecs = [_mobx.action, _mobx.action.bound], _setKeepConnectDecs = [_mobx.action, _mobx.action.bound], _endDecs = [_mobx.action, _mobx.action.bound], "_userControl");
78
+ var LeaveMeetingStore = exports.LeaveMeetingStore = /*#__PURE__*/function () {
79
+ function LeaveMeetingStore(_privilegeProvider, _roomProvider, _roomControl, _sharedMemberDataSource, _abilityProvider, _dialogProvder) {
80
+ (0, _classCallCheck2["default"])(this, LeaveMeetingStore);
81
+ (0, _defineProperty2["default"])(this, _ref, void _initProto(this));
82
+ _classPrivateFieldInitSpec(this, _A, _init_keepConnect(this, false));
83
+ _classPrivateFieldInitSpec(this, _B, _init_canAssign(this, false));
84
+ _classPrivateFieldInitSpec(this, _C, _init_loading(this, false));
85
+ this._privilegeProvider = _privilegeProvider;
86
+ this._roomProvider = _roomProvider;
87
+ this._roomControl = _roomControl;
88
+ this._sharedMemberDataSource = _sharedMemberDataSource;
89
+ this._abilityProvider = _abilityProvider;
90
+ this._dialogProvder = _dialogProvder;
91
+ this._userControl = this._roomControl.getUserControl();
92
+ this._streamControl = this._roomControl.getStreamControl();
93
+ }
94
+ return (0, _createClass2["default"])(LeaveMeetingStore, [{
95
+ key: "keepConnect",
96
+ get: function get() {
97
+ return _classPrivateFieldGet(_A, this);
98
+ },
99
+ set: function set(v) {
100
+ _classPrivateFieldSet(_A, this, v);
101
+ }
102
+ }, {
103
+ key: "canAssign",
104
+ get: function get() {
105
+ return _classPrivateFieldGet(_B, this);
106
+ },
107
+ set: function set(v) {
108
+ _classPrivateFieldSet(_B, this, v);
109
+ }
110
+ }, {
111
+ key: "loading",
112
+ get: function get() {
113
+ return _classPrivateFieldGet(_C, this);
114
+ },
115
+ set: function set(v) {
116
+ _classPrivateFieldSet(_C, this, v);
117
+ }
118
+ }, {
119
+ key: "isLocked",
120
+ get: function get() {
121
+ return this._privilegeProvider.isLockRoomEnabled();
122
+ }
123
+ }, {
124
+ key: "localUserId",
125
+ get: function get() {
126
+ return this._sharedMemberDataSource.localUser.userId;
127
+ }
128
+ }, {
129
+ key: "localUserRole",
130
+ get: function get() {
131
+ return this._sharedMemberDataSource.localUserRole;
132
+ }
133
+ }, {
134
+ key: "hasAssignHostBeforeLeavingPermission",
135
+ get: function get() {
136
+ return this._privilegeProvider.hasAssignHostBeforeLeavingPermission(this.localUserRole);
137
+ }
138
+ }, {
139
+ key: "hasEndRoomPermission",
140
+ get: function get() {
141
+ return this._privilegeProvider.hasEndRoomPermission();
142
+ }
143
+ }, {
144
+ key: "hostAvailibleRemoteUsers",
145
+ get: function get() {
146
+ var _this = this;
147
+ return this._sharedMemberDataSource.remoteMembersUserInfosList.filter(function (user) {
148
+ return user.platform && _this.isHostSupportedByPlatform(user.platform);
149
+ });
150
+ }
151
+ }, {
152
+ key: "isPstnUser",
153
+ get: function get() {
154
+ return this._sharedMemberDataSource.hasOwnPstnStream;
155
+ }
156
+ }, {
157
+ key: "isAssignHostAvailable",
158
+ get: function get() {
159
+ var _this2 = this;
160
+ return this.hasAssignHostBeforeLeavingPermission && this.hostAvailibleRemoteUsers.some(function (item) {
161
+ return _this2.isHostSupportedByPlatform(item.platform);
162
+ });
163
+ }
164
+ }, {
165
+ key: "showEndConfirmDialog",
166
+ value: function showEndConfirmDialog() {
167
+ this._dialogProvder.openDialog(_constant.FcrUIDialogKey.LEAVE_MEETING);
168
+ }
169
+ }, {
170
+ key: "isHostSupportedByPlatform",
171
+ value: function isHostSupportedByPlatform(platform) {
172
+ return this._abilityProvider.isHostSupportedByPlatform(platform);
173
+ }
174
+ }, {
175
+ key: "assignHost",
176
+ value: function assignHost(user) {
177
+ this._userControl.updateRemoteUserRole(user.userId, _type.FcrUserRole.HOST);
178
+ this.leave();
179
+ }
180
+ }, {
181
+ key: "leave",
182
+ value: function () {
183
+ var _leave = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
184
+ var _t;
185
+ return _regenerator["default"].wrap(function (_context) {
186
+ while (1) switch (_context.prev = _context.next) {
187
+ case 0:
188
+ this.loading = true;
189
+ _t = this.keepConnect && this.isPstnUser;
190
+ if (!_t) {
191
+ _context.next = 1;
192
+ break;
193
+ }
194
+ _context.next = 1;
195
+ return this.keepPhoneAudioConnection();
196
+ case 1:
197
+ this.loading = false;
198
+ this._roomProvider.exitRoom();
199
+ case 2:
200
+ case "end":
201
+ return _context.stop();
202
+ }
203
+ }, _callee, this);
204
+ }));
205
+ function leave() {
206
+ return _leave.apply(this, arguments);
207
+ }
208
+ return leave;
209
+ }()
210
+ }, {
211
+ key: "keepPhoneAudioConnection",
212
+ value: function () {
213
+ var _keepPhoneAudioConnection = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
214
+ return _regenerator["default"].wrap(function (_context2) {
215
+ while (1) switch (_context2.prev = _context2.next) {
216
+ case 0:
217
+ return _context2.abrupt("return", this._streamControl.splitAudioStream(this.localUserId));
218
+ case 1:
219
+ case "end":
220
+ return _context2.stop();
221
+ }
222
+ }, _callee2, this);
223
+ }));
224
+ function keepPhoneAudioConnection() {
225
+ return _keepPhoneAudioConnection.apply(this, arguments);
226
+ }
227
+ return keepPhoneAudioConnection;
228
+ }()
229
+ }, {
230
+ key: "setCanAssign",
231
+ value: function setCanAssign(value) {
232
+ this.canAssign = value;
233
+ }
234
+ }, {
235
+ key: "setKeepConnect",
236
+ value: function setKeepConnect(value) {
237
+ this.keepConnect = value;
238
+ }
239
+ }, {
240
+ key: "end",
241
+ value: function () {
242
+ var _end = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
243
+ return _regenerator["default"].wrap(function (_context3) {
244
+ while (1) switch (_context3.prev = _context3.next) {
245
+ case 0:
246
+ this._roomControl.close();
247
+ this._roomProvider.exitRoom();
248
+ case 1:
249
+ case "end":
250
+ return _context3.stop();
251
+ }
252
+ }, _callee3, this);
253
+ }));
254
+ function end() {
255
+ return _end.apply(this, arguments);
256
+ }
257
+ return end;
258
+ }()
259
+ }, {
260
+ key: "release",
261
+ value: function release() {}
262
+ }]);
263
+ }();
264
+ _LeaveMeetingStore = LeaveMeetingStore;
265
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_LeaveMeetingStore, [[_mobx.observable, 1, "keepConnect"], [_mobx.observable, 1, "canAssign"], [_mobx.observable, 1, "loading"], [_mobx.computed, 3, "hostAvailibleRemoteUsers"], [_mobx.computed, 3, "isPstnUser"], [_mobx.computed, 3, "isAssignHostAvailable"], [_showEndConfirmDialogDecs, 18, "showEndConfirmDialog"], [_isHostSupportedByPlatformDecs, 18, "isHostSupportedByPlatform"], [_assignHostDecs, 18, "assignHost"], [_leaveDecs, 18, "leave"], [_keepPhoneAudioConnectionDecs, 18, "keepPhoneAudioConnection"], [_setCanAssignDecs, 18, "setCanAssign"], [_setKeepConnectDecs, 18, "setKeepConnect"], [_endDecs, 18, "end"]], []).e, 4);
266
+ _init_keepConnect = _applyDecs$e[0];
267
+ _init_canAssign = _applyDecs$e[1];
268
+ _init_loading = _applyDecs$e[2];
269
+ _initProto = _applyDecs$e[3];
270
+ var LeaveMeetingStoreContext = exports.LeaveMeetingStoreContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -1,8 +1,12 @@
1
1
  import { LeaveMeetingStoreBase } from '../store.base';
2
2
  import { LeaveMeetingStoreArgs } from '../type';
3
- import { FcrPlatform } from 'fcr-core/lib/type';
3
+ import { FcrPlatform, FcrUserRole } from 'fcr-core/lib/type';
4
4
  export default class LeaveMeetingStoreWaiting extends LeaveMeetingStoreBase {
5
+ private _localUserId;
6
+ private _localUserRole;
5
7
  constructor(args: LeaveMeetingStoreArgs);
8
+ get localUserId(): string;
9
+ get localUserRole(): FcrUserRole;
6
10
  get hostAvailibleRemoteUsers(): never[];
7
11
  get isPstnUser(): boolean;
8
12
  isHostSupportedByPlatform(platform: FcrPlatform): boolean;
@@ -48,6 +48,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
48
48
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
49
49
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
50
50
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
51
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
51
52
  var _mobx = require("mobx");
52
53
  var _store = require("../store.base");
53
54
  var _LeaveMeetingStoreWaiting;
@@ -59,17 +60,30 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
59
60
  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); }
60
61
  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; }
61
62
  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; }
62
- _ref = (_isHostSupportedByPlatformDecs = [_mobx.action, _mobx.action.bound], "hostAvailibleRemoteUsers");
63
+ _ref = (_isHostSupportedByPlatformDecs = [_mobx.action, _mobx.action.bound], "_localUserId");
63
64
  var LeaveMeetingStoreWaiting = exports["default"] = /*#__PURE__*/function (_LeaveMeetingStoreBas) {
64
65
  function LeaveMeetingStoreWaiting(args) {
65
66
  var _this;
66
67
  (0, _classCallCheck2["default"])(this, LeaveMeetingStoreWaiting);
67
- _initProto(_this = _callSuper(this, LeaveMeetingStoreWaiting, [args]));
68
+ _this = _callSuper(this, LeaveMeetingStoreWaiting, [args]);
69
+ (0, _defineProperty2["default"])(_this, _ref, void _initProto(_this));
70
+ _this._localUserId = _this._userControl.getLocalUser().userId;
71
+ _this._localUserRole = _this._userControl.getLocalUser().userRole;
68
72
  return _this;
69
73
  }
70
74
  (0, _inherits2["default"])(LeaveMeetingStoreWaiting, _LeaveMeetingStoreBas);
71
75
  return (0, _createClass2["default"])(LeaveMeetingStoreWaiting, [{
72
- key: _ref,
76
+ key: "localUserId",
77
+ get: function get() {
78
+ return this._localUserId;
79
+ }
80
+ }, {
81
+ key: "localUserRole",
82
+ get: function get() {
83
+ return this._localUserRole;
84
+ }
85
+ }, {
86
+ key: "hostAvailibleRemoteUsers",
73
87
  get: function get() {
74
88
  return [];
75
89
  }
@@ -111,8 +111,7 @@ var MoreActions = exports.MoreActions = (0, _mobxReact.observer)(function (_ref)
111
111
  boxShadow: 'var(--fcr_web_light_dropup_m)',
112
112
  borderRadius: 'var(--fcr_cornerradius_l)',
113
113
  minWidth: '210px',
114
- maxWidth: '300px',
115
- width: 'fit-content'
114
+ maxWidth: '300px'
116
115
  },
117
116
  overlayClassName: "member-window-actions__more-actions",
118
117
  mouseEnterDelay: 0,
@@ -20,14 +20,15 @@ var FcrUILocalCameraVideoPlayer = (0, _mobxReact.observer)(function (props) {
20
20
  cameraEnabled = _context$localVideoRe.cameraEnabled,
21
21
  cameraId = _context$localVideoRe.cameraId,
22
22
  startCameraPreview = _context$localVideoRe.startCameraPreview,
23
- stopCameraPreview = _context$localVideoRe.stopCameraPreview;
23
+ stopCameraPreview = _context$localVideoRe.stopCameraPreview,
24
+ isLocalMirrorEnabled = _context$localVideoRe.isLocalMirrorEnabled;
24
25
  (0, _react.useEffect)(function () {
25
26
  var dom = divRef.current;
26
27
  if (dom && cameraEnabled) {
27
28
  isPreviewingRef.current = true;
28
29
  startCameraPreview(dom, {
29
30
  renderMode: renderMode,
30
- isMirror: false
31
+ isMirror: isLocalMirrorEnabled
31
32
  });
32
33
  }
33
34
  return function () {
@@ -38,7 +39,7 @@ var FcrUILocalCameraVideoPlayer = (0, _mobxReact.observer)(function (props) {
38
39
  stopCameraPreview(dom);
39
40
  }
40
41
  };
41
- }, [cameraEnabled, cameraId]);
42
+ }, [cameraEnabled, cameraId, isLocalMirrorEnabled]);
42
43
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
43
44
  className: "fcr-member-window-body fcr-member-window-body-video",
44
45
  ref: divRef
@@ -33,7 +33,6 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
33
33
  onScaleChange = _ref.onScaleChange,
34
34
  onPositionChange = _ref.onPositionChange;
35
35
  var containerRef = (0, _react.useRef)(null);
36
- var contentRef = (0, _react.useRef)(null);
37
36
  var _useState = (0, _react.useState)(initialScale),
38
37
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
39
38
  scale = _useState2[0],
@@ -63,13 +62,6 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
63
62
  _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
64
63
  containerSize = _useState0[0],
65
64
  setContainerSize = _useState0[1];
66
- var _useState1 = (0, _react.useState)({
67
- width: 0,
68
- height: 0
69
- }),
70
- _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
71
- contentSize = _useState10[0],
72
- setContentSize = _useState10[1];
73
65
 
74
66
  // 处理鼠标按下
75
67
  var handleMouseDown = (0, _react.useCallback)(function (e) {
@@ -85,9 +77,12 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
85
77
 
86
78
  // 计算边界限制
87
79
  var getBoundedPosition = (0, _react.useCallback)(function (newPosition) {
88
- if (!containerSize.width || !contentSize.width) return newPosition;
89
- var scaledContentWidth = contentSize.width * scale;
90
- var scaledContentHeight = contentSize.height * scale;
80
+ if (!containerSize.width) return newPosition;
81
+
82
+ // 计算缩放后的内容尺寸
83
+ // 内容的 width 和 height 均为 100%,所以内容基础尺寸即为容器尺寸
84
+ var scaledContentWidth = containerSize.width * scale;
85
+ var scaledContentHeight = containerSize.height * scale;
91
86
 
92
87
  // 计算边界
93
88
  var maxX = Math.max(0, (scaledContentWidth - containerSize.width) / 2);
@@ -98,7 +93,7 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
98
93
  x: Math.max(minX, Math.min(maxX, newPosition.x)),
99
94
  y: Math.max(minY, Math.min(maxY, newPosition.y))
100
95
  };
101
- }, [containerSize, contentSize, scale]);
96
+ }, [containerSize, scale]);
102
97
 
103
98
  // 处理鼠标移动
104
99
  var handleMouseMove = (0, _react.useCallback)(function (e) {
@@ -144,26 +139,18 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
144
139
 
145
140
  // 监听容器和内容尺寸变化
146
141
  (0, _react.useEffect)(function () {
147
- var updateSizes = function updateSizes() {
148
- if (containerRef.current) {
149
- var rect = containerRef.current.getBoundingClientRect();
150
- setContainerSize({
151
- width: rect.width,
152
- height: rect.height
153
- });
154
- }
155
- if (contentRef.current) {
156
- var _rect = contentRef.current.getBoundingClientRect();
157
- setContentSize({
158
- width: _rect.width,
159
- height: _rect.height
160
- });
161
- }
162
- };
163
- updateSizes();
164
- window.addEventListener('resize', updateSizes);
142
+ var container = containerRef.current;
143
+ if (!container) return;
144
+ var resizeObserver = new ResizeObserver(function () {
145
+ var rect = container.getBoundingClientRect();
146
+ setContainerSize({
147
+ width: rect.width,
148
+ height: rect.height
149
+ });
150
+ });
151
+ resizeObserver.observe(container);
165
152
  return function () {
166
- return window.removeEventListener('resize', updateSizes);
153
+ resizeObserver.disconnect();
167
154
  };
168
155
  }, []);
169
156
 
@@ -241,7 +228,6 @@ var ZoomableContainer = exports.ZoomableContainer = function ZoomableContainer(_
241
228
  userSelect: 'none'
242
229
  },
243
230
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
244
- ref: contentRef,
245
231
  style: {
246
232
  width: '100%',
247
233
  height: '100%',
@@ -1,6 +1,5 @@
1
1
  import { ToolTipProps } from 'agora-ui-foundation/lib/components/tooltip';
2
2
  export declare const AnnotationCaptureTool: (props: {
3
- popoverVisible?: boolean;
4
3
  placement: ToolTipProps["placement"];
5
4
  size?: number;
6
5
  hideTitle?: boolean;
@@ -17,7 +17,6 @@ var AnnotationCaptureTool = exports.AnnotationCaptureTool = function AnnotationC
17
17
  var t = (0, _i18n.useI18n)();
18
18
  var size = props.size,
19
19
  hideTitle = props.hideTitle,
20
- popoverVisible = props.popoverVisible,
21
20
  placement = props.placement,
22
21
  direction = props.direction,
23
22
  setPopoverVisible = props.setPopoverVisible,
@@ -43,7 +42,7 @@ var AnnotationCaptureTool = exports.AnnotationCaptureTool = function AnnotationC
43
42
  iconType: _type.FcrIconType.FCR_WHITEBOARD_SLICE,
44
43
  title: t('fmt_screenshare_whiteboard_button_cutting'),
45
44
  lineColor: "transparent",
46
- visible: visible && popoverVisible,
45
+ visible: visible,
47
46
  onVisibleChange: handleVisibleChange,
48
47
  showArrow: true,
49
48
  content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_panel.AnnotationToolPanel, {
@@ -126,7 +126,7 @@ function VerticalBar(props) {
126
126
  api.start(_position);
127
127
  }
128
128
  }, []);
129
- var handleRefMount = function handleRefMount(dom) {
129
+ var handleRefMount = (0, _react2.useCallback)(function (dom) {
130
130
  if (dom) {
131
131
  var top = dom.getBoundingClientRect().top;
132
132
  if (topTemp !== top) {
@@ -135,7 +135,7 @@ function VerticalBar(props) {
135
135
  toolbarDom.current = dom;
136
136
  }
137
137
  }
138
- };
138
+ }, []);
139
139
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
140
140
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
141
141
  onClick: function onClick() {
@@ -9,47 +9,60 @@ exports.useResizeVisible = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _react = require("react");
11
11
  var _item = require("../components/item");
12
- var _constants = require("../../../action-bar/constants");
12
+ var _lodash = require("lodash");
13
13
  var useResizeVisible = exports.useResizeVisible = function useResizeVisible() {
14
- var toolbar = (0, _react.useRef)();
15
- var _useState = (0, _react.useState)(0),
14
+ var _useState = (0, _react.useState)(-1),
16
15
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
17
- threshold = _useState2[0],
18
- setThreshold = _useState2[1];
19
- var _useState3 = (0, _react.useState)(-1),
20
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
21
- coverCount = _useState4[0],
22
- setCoverCount = _useState4[1];
23
- var _useState5 = (0, _react.useState)(0),
24
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
25
- itemHeight = _useState6[0],
26
- setItemHeight = _useState6[1];
27
- var actionbar = document.querySelector(".".concat(_constants.actionBarClassName));
28
- var actionBarHeight = (actionbar === null || actionbar === void 0 ? void 0 : actionbar.getBoundingClientRect().height) || 0;
16
+ coverCount = _useState2[0],
17
+ setCoverCount = _useState2[1];
29
18
  var bottomHeight = 20;
19
+ var toolbarRef = (0, _react.useRef)();
20
+ var containerRef = (0, _react.useRef)(null);
21
+ var thresholdRef = (0, _react.useRef)(0);
22
+ var itemHeightRef = (0, _react.useRef)(0);
30
23
  var handleResize = (0, _react.useCallback)(function () {
31
- var offsetHeight = document.body.offsetHeight;
32
- var coverSize = threshold - offsetHeight;
33
- var coverCount = Math.floor(coverSize / itemHeight);
34
- setCoverCount(coverCount);
35
- }, [threshold]);
24
+ var container = containerRef.current;
25
+ var _ref = (container === null || container === void 0 ? void 0 : container.getBoundingClientRect()) || document.documentElement.getBoundingClientRect(),
26
+ height = _ref.height;
27
+ var threshold = thresholdRef.current;
28
+ var itemHeight = itemHeightRef.current;
29
+ var coverSize = 0;
30
+ var coverCountTemp = -1;
31
+ coverSize = threshold - height;
32
+ coverCountTemp = Math.round(coverSize / itemHeight);
33
+ setCoverCount(coverCountTemp);
34
+ }, []);
35
+ (0, _react.useEffect)(function () {
36
+ handleResize();
37
+ }, []);
38
+ var handleResizeDebounce = (0, _react.useCallback)((0, _lodash.debounce)(handleResize, 200), []);
36
39
  (0, _react.useEffect)(function () {
37
- window.addEventListener('resize', handleResize);
40
+ var container = containerRef.current;
41
+ if (container) {
42
+ container.addEventListener('transitionend', handleResizeDebounce);
43
+ }
38
44
  return function () {
39
- window.removeEventListener('resize', handleResize);
45
+ if (container) {
46
+ container.removeEventListener('transitionend', handleResizeDebounce);
47
+ }
40
48
  };
41
- }, [threshold]);
49
+ }, []);
50
+ var reCalcThreshold = (0, _react.useCallback)(function () {
51
+ var toolbar = toolbarRef.current;
52
+ if (toolbar) {
53
+ var _toolbar$getBoundingC = toolbar.getBoundingClientRect(),
54
+ height = _toolbar$getBoundingC.height;
55
+ var items = toolbar.querySelectorAll(".".concat(_item.toolBarItemClassName));
56
+ itemHeightRef.current = items[0].getBoundingClientRect().height;
57
+ var threshold = height + bottomHeight;
58
+ thresholdRef.current = threshold;
59
+ }
60
+ }, []);
42
61
  var setToolbarDom = (0, _react.useCallback)(function (dom) {
43
62
  if (dom) {
44
- var _items$;
45
- toolbar.current = dom;
46
- var _dom$getBoundingClien = dom.getBoundingClientRect(),
47
- top = _dom$getBoundingClien.top,
48
- height = _dom$getBoundingClien.height;
49
- var items = dom.querySelectorAll(".".concat(_item.toolBarItemClassName));
50
- setItemHeight((_items$ = items[0]) === null || _items$ === void 0 ? void 0 : _items$.getBoundingClientRect().height);
51
- var _threshold = height + top + actionBarHeight + bottomHeight;
52
- setThreshold(_threshold);
63
+ toolbarRef.current = dom;
64
+ containerRef.current = document.querySelector('.fcr-whiteboard-controlbar-body-content');
65
+ reCalcThreshold();
53
66
  }
54
67
  }, []);
55
68
  return {