fcr-ui-scene 3.1.1 → 3.2.0

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 (286) hide show
  1. package/dist/132.js +2 -0
  2. package/dist/132.js.LICENSE.txt +311 -0
  3. package/dist/651.js +2 -0
  4. package/dist/651.js.LICENSE.txt +1 -0
  5. package/dist/73.js +1 -0
  6. package/dist/index.html +13 -0
  7. package/dist/main.da7c203ab32d15742cfe.css +11760 -0
  8. package/dist/main.js +2 -0
  9. package/dist/main.js.LICENSE.txt +254 -0
  10. package/dist/worker-entry.worker.js.LICENSE.txt +13 -0
  11. package/lib/base.d.ts +0 -1
  12. package/lib/base.js +16 -0
  13. package/lib/common/device-store.d.ts +3 -4
  14. package/lib/common/device-store.js +167 -83
  15. package/lib/common/device-stream-store.d.ts +3 -2
  16. package/lib/common/device-stream-store.js +94 -72
  17. package/lib/common/event-store.d.ts +3 -2
  18. package/lib/common/event-store.js +5 -0
  19. package/lib/common/security-store.d.ts +6 -16
  20. package/lib/common/security-store.js +136 -101
  21. package/lib/electron/app.js +13 -5
  22. package/lib/electron/injections.d.ts +3 -4
  23. package/lib/electron/injections.js +46 -30
  24. package/lib/electron/logger.d.ts +6 -0
  25. package/lib/electron/logger.js +66 -0
  26. package/lib/electron/main.js +24 -8
  27. package/lib/electron/preload.js +2 -1
  28. package/lib/electron/tools.js +9 -0
  29. package/lib/electron/window.d.ts +1 -1
  30. package/lib/electron/window.js +14 -2
  31. package/lib/fragments/control-bar/context.d.ts +0 -1
  32. package/lib/fragments/control-bar/control-bar-store.js +23 -2
  33. package/lib/fragments/control-bar/device/index.js +7 -0
  34. package/lib/fragments/control-bar/index.js +1 -1
  35. package/lib/fragments/control-bar/more-actions/index.js +5 -0
  36. package/lib/fragments/control-bar/security-content/index.js +3 -0
  37. package/lib/fragments/live-streaming/context.d.ts +0 -1
  38. package/lib/fragments/live-streaming/store.js +27 -17
  39. package/lib/fragments/share-screen-selection/context.d.ts +0 -1
  40. package/lib/fragments/share-screen-selection/selection-store.d.ts +0 -1
  41. package/lib/fragments/share-screen-selection/selection-store.js +34 -33
  42. package/lib/fragments/share-screen-selection/view.js +7 -0
  43. package/lib/fragments/toolbar/components/color-picker/components/color.js +2 -0
  44. package/lib/fragments/toolbar/components/color-picker/components/panel.js +4 -0
  45. package/lib/fragments/toolbar/components/color-picker/components/picker.js +2 -0
  46. package/lib/fragments/toolbar/components/color-picker/index.js +5 -1
  47. package/lib/fragments/toolbar/components/color-picker.js +3 -1
  48. package/lib/fragments/toolbar/components/eraser-picker.js +4 -13
  49. package/lib/fragments/toolbar/components/extension-toolbar-item.js +5 -0
  50. package/lib/fragments/toolbar/components/extra-tool-picker.js +4 -0
  51. package/lib/fragments/toolbar/components/pen-picker.js +2 -0
  52. package/lib/fragments/toolbar/components/screen-capture-picker.js +2 -0
  53. package/lib/fragments/toolbar/components/shape-picker.js +2 -0
  54. package/lib/fragments/toolbar/hooks.d.ts +1 -1
  55. package/lib/fragments/toolbar/hooks.js +13 -8
  56. package/lib/fragments/toolbar/store.d.ts +4 -4
  57. package/lib/fragments/toolbar/store.js +20 -2
  58. package/lib/fragments/toolbar/view.js +2 -0
  59. package/lib/global.d.ts +1 -0
  60. package/lib/hooks/meeting-time.d.ts +2 -2
  61. package/lib/modules/action-bar/action-bar-collapes-items.js +9 -0
  62. package/lib/modules/action-bar/chat/index.js +1 -1
  63. package/lib/modules/action-bar/context.d.ts +0 -1
  64. package/lib/modules/action-bar/device/index.d.ts +2 -2
  65. package/lib/modules/action-bar/device/index.js +2 -0
  66. package/lib/modules/action-bar/index.css +4 -0
  67. package/lib/modules/action-bar/index.d.ts +2 -2
  68. package/lib/modules/action-bar/index.dev.js +7 -6
  69. package/lib/modules/action-bar/item-placement.d.ts +1 -2
  70. package/lib/modules/action-bar/item.js +5 -0
  71. package/lib/modules/action-bar/leave/assign-host.d.ts +0 -1
  72. package/lib/modules/action-bar/leave/assign-host.js +5 -3
  73. package/lib/modules/action-bar/leave/index.js +6 -1
  74. package/lib/modules/action-bar/leave/leave-meeting.d.ts +0 -1
  75. package/lib/modules/action-bar/more/poppover-content.d.ts +0 -1
  76. package/lib/modules/action-bar/more/poppover-content.js +10 -0
  77. package/lib/modules/action-bar/screen-share/submenu.js +1 -0
  78. package/lib/modules/action-bar/security/drop-menu.js +34 -1
  79. package/lib/modules/action-bar/security/index.js +1 -1
  80. package/lib/modules/action-bar/settings/index.js +1 -1
  81. package/lib/modules/action-bar/store.d.ts +9 -17
  82. package/lib/modules/action-bar/store.js +67 -49
  83. package/lib/modules/audio-stream/index.js +12 -6
  84. package/lib/modules/chat/chat-bar/index.js +7 -0
  85. package/lib/modules/chat/chat-select/index.css +5 -0
  86. package/lib/modules/chat/chat-select/index.d.ts +0 -1
  87. package/lib/modules/chat/chat-select/index.js +29 -3
  88. package/lib/modules/chat/chat.d.ts +1 -1
  89. package/lib/modules/chat/chat.js +28 -4
  90. package/lib/modules/chat/contex.d.ts +0 -1
  91. package/lib/modules/chat/demo-wrapper.d.ts +0 -1
  92. package/lib/modules/chat/index.d.ts +3 -3
  93. package/lib/modules/chat/index.dev.js +3 -3
  94. package/lib/modules/chat/index.js +19 -3
  95. package/lib/modules/chat/message-list.js +24 -3
  96. package/lib/modules/chat/store.d.ts +3 -3
  97. package/lib/modules/chat/store.js +45 -79
  98. package/lib/modules/chat/util.js +1 -1
  99. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -0
  100. package/lib/modules/connection-gateway/components/phone/index.js +2 -0
  101. package/lib/modules/connection-gateway/index.d.ts +2 -2
  102. package/lib/modules/connection-gateway/index.js +2 -0
  103. package/lib/modules/connection-gateway/store.d.ts +1 -2
  104. package/lib/modules/connection-gateway/store.js +41 -14
  105. package/lib/modules/device-pretest/audio-preview/microphone-detection.d.ts +1 -0
  106. package/lib/modules/device-pretest/audio-preview/microphone-detection.js +3 -2
  107. package/lib/modules/device-pretest/audio-preview/speaker-control.d.ts +0 -1
  108. package/lib/modules/device-pretest/context.d.ts +0 -1
  109. package/lib/modules/device-pretest/index.d.ts +0 -1
  110. package/lib/modules/device-pretest/index.js +2 -1
  111. package/lib/modules/device-pretest/settings/beauty.js +2 -0
  112. package/lib/modules/device-pretest/settings/video-effect.d.ts +0 -1
  113. package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -0
  114. package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -0
  115. package/lib/modules/device-pretest/store.js +28 -9
  116. package/lib/modules/dialog/components/chat/electron.js +1 -1
  117. package/lib/modules/dialog/components/chat/index.js +1 -1
  118. package/lib/modules/dialog/components/confirm/electron.js +2 -2
  119. package/lib/modules/dialog/components/confirm/index.js +16 -2
  120. package/lib/modules/dialog/components/connection-gateway/electron.js +1 -1
  121. package/lib/modules/dialog/components/device-setting/electron.d.ts +2 -0
  122. package/lib/modules/dialog/components/device-setting/electron.js +72 -0
  123. package/lib/modules/dialog/components/device-setting/index.css +27 -0
  124. package/lib/modules/dialog/components/device-setting/index.d.ts +4 -0
  125. package/lib/modules/dialog/components/device-setting/index.js +60 -0
  126. package/lib/modules/dialog/components/participant/electron.js +6 -1
  127. package/lib/modules/dialog/components/share-screen-selection/index.js +1 -1
  128. package/lib/modules/dialog/context.d.ts +0 -1
  129. package/lib/modules/dialog/dialogs.d.ts +0 -2
  130. package/lib/modules/dialog/dialogs.js +46 -91
  131. package/lib/modules/dialog/index.css +5 -6
  132. package/lib/modules/dialog/index.d.ts +1 -1
  133. package/lib/modules/dialog/index.js +17 -0
  134. package/lib/modules/dialog/store.d.ts +2 -2
  135. package/lib/modules/dialog/store.js +36 -7
  136. package/lib/modules/dialog/view.js +2 -0
  137. package/lib/modules/event-toast/context.d.ts +0 -1
  138. package/lib/modules/event-toast/store.js +16 -0
  139. package/lib/modules/invite/context.d.ts +0 -1
  140. package/lib/modules/invite/index.d.ts +2 -2
  141. package/lib/modules/invite/pstn-invite.js +3 -1
  142. package/lib/modules/invite/store.d.ts +2 -2
  143. package/lib/modules/invite/store.js +27 -7
  144. package/lib/modules/invite/voip-invite.d.ts +0 -1
  145. package/lib/modules/invite/voip-invite.js +1 -1
  146. package/lib/modules/layout/components/Aside.d.ts +0 -1
  147. package/lib/modules/layout/components/Aside.js +4 -1
  148. package/lib/modules/layout/components/Carousel.js +6 -5
  149. package/lib/modules/layout/components/Gallery.js +9 -8
  150. package/lib/modules/layout/components/index.css +11 -1
  151. package/lib/modules/layout/components/index.js +3 -0
  152. package/lib/modules/layout/context.d.ts +0 -1
  153. package/lib/modules/layout/index.dev.js +11 -11
  154. package/lib/modules/layout/index.js +0 -6
  155. package/lib/modules/layout/member-window/index.css +5 -5
  156. package/lib/modules/layout/member-window/index.d.ts +7 -7
  157. package/lib/modules/layout/member-window/index.js +50 -10
  158. package/lib/modules/layout/store.d.ts +44 -50
  159. package/lib/modules/layout/store.js +406 -338
  160. package/lib/modules/layout/type.d.ts +2 -1
  161. package/lib/modules/layout/video-window-datasource.d.ts +14 -8
  162. package/lib/modules/layout/video-window-datasource.js +129 -78
  163. package/lib/modules/live-streaming/context.d.ts +0 -1
  164. package/lib/modules/live-streaming/index.d.ts +2 -2
  165. package/lib/modules/live-streaming/index.dev.js +4 -3
  166. package/lib/modules/live-streaming/store.d.ts +2 -2
  167. package/lib/modules/live-streaming/store.js +32 -11
  168. package/lib/modules/participant/attendee/index.js +10 -0
  169. package/lib/modules/participant/attendee/participants-more-action.js +5 -2
  170. package/lib/modules/participant/context.d.ts +0 -1
  171. package/lib/modules/participant/index.d.ts +3 -3
  172. package/lib/modules/participant/index.dev.js +13 -11
  173. package/lib/modules/participant/member-list-data-source.d.ts +3 -3
  174. package/lib/modules/participant/member-list-data-source.js +29 -3
  175. package/lib/modules/participant/room-control-drop-menu/index.js +35 -1
  176. package/lib/modules/participant/store.d.ts +31 -31
  177. package/lib/modules/participant/store.js +203 -157
  178. package/lib/modules/participant/view.d.ts +6 -6
  179. package/lib/modules/participant/view.js +5 -0
  180. package/lib/modules/setting/audio-settings/audio-settings.js +16 -12
  181. package/lib/modules/setting/audio-settings/index.css +2 -2
  182. package/lib/modules/setting/context.d.ts +0 -1
  183. package/lib/modules/setting/general-settings/general-settings.js +2 -1
  184. package/lib/modules/setting/general-settings/index.css +2 -2
  185. package/lib/modules/setting/index.d.ts +2 -2
  186. package/lib/modules/setting/index.dev.js +13 -11
  187. package/lib/modules/setting/index.js +16 -0
  188. package/lib/modules/setting/minutes-settings/index.css +65 -0
  189. package/lib/modules/setting/minutes-settings/minutes-settings.d.ts +4 -0
  190. package/lib/modules/setting/minutes-settings/minutes-settings.js +159 -0
  191. package/lib/modules/setting/state/index.css +0 -4
  192. package/lib/modules/setting/state/index.js +11 -1
  193. package/lib/modules/setting/storage-settings/storage-settings.js +1 -1
  194. package/lib/modules/setting/store.d.ts +6 -4
  195. package/lib/modules/setting/store.js +68 -40
  196. package/lib/modules/setting/translate-settings/index.css +45 -0
  197. package/lib/modules/setting/translate-settings/language-select.d.ts +12 -0
  198. package/lib/modules/setting/translate-settings/language-select.js +50 -0
  199. package/lib/modules/setting/translate-settings/translate-settings.d.ts +4 -0
  200. package/lib/modules/setting/translate-settings/translate-settings.js +139 -0
  201. package/lib/modules/setting/video-settings/index.css +7 -1
  202. package/lib/modules/setting/video-settings/video-settings-basic.js +3 -2
  203. package/lib/modules/setting/video-settings/video-settings.js +5 -1
  204. package/lib/modules/setting/view.js +34 -2
  205. package/lib/modules/share-screen/index.d.ts +2 -2
  206. package/lib/modules/share-screen/index.dev.js +14 -12
  207. package/lib/modules/share-screen/index.js +2 -0
  208. package/lib/modules/share-screen/selection/index.js +44 -6
  209. package/lib/modules/share-screen/share-state-bar/index.css +49 -11
  210. package/lib/modules/share-screen/share-state-bar/index.d.ts +0 -1
  211. package/lib/modules/share-screen/share-state-bar/index.js +51 -20
  212. package/lib/modules/share-screen/store.d.ts +18 -11
  213. package/lib/modules/share-screen/store.js +656 -570
  214. package/lib/modules/state-bar/context.d.ts +0 -1
  215. package/lib/modules/state-bar/index.d.ts +1 -1
  216. package/lib/modules/state-bar/index.dev.js +11 -9
  217. package/lib/modules/state-bar/layout-config.js +2 -0
  218. package/lib/modules/state-bar/live-streaming-state.js +3 -0
  219. package/lib/modules/state-bar/recording.js +6 -6
  220. package/lib/modules/state-bar/store.d.ts +4 -4
  221. package/lib/modules/state-bar/store.js +50 -5
  222. package/lib/modules/state-bar/view.js +3 -2
  223. package/lib/modules/video-window/context.d.ts +0 -1
  224. package/lib/modules/video-window/deviceState/index.d.ts +3 -3
  225. package/lib/modules/video-window/members/index.js +7 -4
  226. package/lib/modules/video-window/store.d.ts +3 -2
  227. package/lib/modules/video-window/store.js +35 -6
  228. package/lib/modules/video-window/topControl/index.js +7 -0
  229. package/lib/modules/video-window/view.js +2 -0
  230. package/lib/modules/whiteboard/app.js +2 -2
  231. package/lib/modules/whiteboard/components/control-bar/store.d.ts +0 -1
  232. package/lib/modules/whiteboard/components/control-bar/store.js +29 -29
  233. package/lib/modules/whiteboard/components/loading/index.js +2 -2
  234. package/lib/modules/whiteboard/components/multi-window/index.js +2 -2
  235. package/lib/modules/whiteboard/components/pagination/store.d.ts +0 -1
  236. package/lib/modules/whiteboard/components/progress/electron.js +1 -1
  237. package/lib/modules/whiteboard/components/progress/style.css +4 -3
  238. package/lib/modules/whiteboard/components/switch-theme/index.js +9 -2
  239. package/lib/modules/whiteboard/components/switch-theme/item.js +2 -0
  240. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +2 -1
  241. package/lib/modules/whiteboard/components/switch-theme/libs.js +21 -20
  242. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -0
  243. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +3 -1
  244. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +11 -9
  245. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +4 -0
  246. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +5 -0
  247. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -0
  248. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +4 -2
  249. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +3 -3
  250. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +16 -11
  251. package/lib/modules/whiteboard/components/toolbar/index.js +9 -0
  252. package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -7
  253. package/lib/modules/whiteboard/components/toolbar/store.js +22 -4
  254. package/lib/modules/whiteboard/context.d.ts +3 -3
  255. package/lib/modules/whiteboard/context.js +2 -2
  256. package/lib/modules/whiteboard/index.d.ts +6 -8
  257. package/lib/modules/whiteboard/index.js +292 -253
  258. package/lib/modules/whiteboard/type.d.ts +4 -12
  259. package/lib/modules/whiteboard/type.js +6 -16
  260. package/lib/modules/whiteboard/utils.d.ts +1 -0
  261. package/lib/modules/whiteboard/utils.js +12 -1
  262. package/lib/plugins/browser-runtime-plugin.js +2 -1
  263. package/lib/plugins/module-dev-plugin.js +4 -4
  264. package/lib/plugins/multi-lang-plugin.d.ts +1 -5
  265. package/lib/plugins/multi-lang-plugin.js +2 -0
  266. package/lib/runtime.d.ts +3 -5
  267. package/lib/translations/enUS.d.ts +148 -1
  268. package/lib/translations/enUS.js +156 -7
  269. package/lib/translations/zhCN.d.ts +148 -1
  270. package/lib/translations/zhCN.js +152 -3
  271. package/lib/ui-manager.d.ts +2 -2
  272. package/lib/ui-manager.js +37 -20
  273. package/lib/ui-scene.js +6 -1
  274. package/lib/utilities/board-context.d.ts +0 -1
  275. package/lib/utilities/constant.d.ts +4 -1
  276. package/lib/utilities/constant.js +3 -0
  277. package/lib/utilities/copyText.js +1 -1
  278. package/lib/utilities/extract.js +26 -3
  279. package/lib/utilities/hooks.js +2 -0
  280. package/lib/utilities/renderer-event.js +28 -0
  281. package/lib/utilities/renderer.js +9 -4
  282. package/lib/utilities/tools.js +5 -2
  283. package/lib/utilities/ui-resources.d.ts +2 -2
  284. package/lib/utilities/ui-resources.js +20 -3
  285. package/lib/utilities/video-track-render-context.d.ts +0 -1
  286. package/package.json +8 -7
@@ -6,6 +6,8 @@ require("core-js/modules/es.object.get-own-property-descriptor.js");
6
6
  require("core-js/modules/es.object.to-string.js");
7
7
  require("core-js/modules/es.string.iterator.js");
8
8
  require("core-js/modules/es.weak-map.js");
9
+ require("core-js/modules/esnext.weak-map.delete-all.js");
10
+ require("core-js/modules/esnext.weak-map.emplace.js");
9
11
  require("core-js/modules/web.dom-collections.iterator.js");
10
12
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
11
13
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -30,6 +32,7 @@ var _virtualBackgroundSetting = require("../../device-pretest/settings/virtual-b
30
32
  var _beauty = require("../../device-pretest/settings/beauty");
31
33
  var _videoSettingsBasic = require("./video-settings-basic");
32
34
  var _i18n = require("agora-ui-foundation/lib/i18n");
35
+ var _env = require("agora-foundation/lib/utilities/env");
33
36
  var _jsxRuntime = require("react/jsx-runtime");
34
37
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
35
38
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -136,7 +139,8 @@ var VideoSettings = exports.VideoSettings = (0, _mobxReact.observer)(function (p
136
139
  },
137
140
  stopLocalVideo: stopVideo,
138
141
  currentVideoViewType: currentVideoViewType,
139
- handleVideoViewChange: handleVideoViewChange
142
+ handleVideoViewChange: handleVideoViewChange,
143
+ showRotation: (0, _env.isElectron)()
140
144
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_videoEffect.VideoEffect, {
141
145
  currentTab: activeTab,
142
146
  handleActiveTab: handleActiveTab,
@@ -30,6 +30,8 @@ var _audioSettings = _interopRequireDefault(require("./audio-settings/audio-sett
30
30
  var _videoSettings = _interopRequireDefault(require("./video-settings/video-settings"));
31
31
  var _storageSettings = _interopRequireDefault(require("./storage-settings/storage-settings"));
32
32
  var _generalSettings = _interopRequireDefault(require("./general-settings/general-settings"));
33
+ var _translateSettings = _interopRequireDefault(require("./translate-settings/translate-settings"));
34
+ var _minutesSettings = _interopRequireDefault(require("./minutes-settings/minutes-settings"));
33
35
  var _jsxRuntime = require("react/jsx-runtime");
34
36
  // import { State } from './state';
35
37
 
@@ -39,9 +41,9 @@ var DeviceSettingsView = exports.DeviceSettingsView = (0, _mobxReact.observer)(f
39
41
  setDialogConfig = _useContext.setDialogConfig,
40
42
  setSettingVideoOpened = _useContext.setSettingVideoOpened;
41
43
  var t = (0, _i18n.useI18n)();
42
- var tabContents = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _store.DeviceSettingTab.GENERAL, /*#__PURE__*/(0, _jsxRuntime.jsx)(_generalSettings["default"], {})), _store.DeviceSettingTab.AUDIO, /*#__PURE__*/(0, _jsxRuntime.jsx)(_audioSettings["default"], {})), _store.DeviceSettingTab.VIDEO, /*#__PURE__*/(0, _jsxRuntime.jsx)(_videoSettings["default"], {
44
+ var tabContents = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _store.DeviceSettingTab.GENERAL, /*#__PURE__*/(0, _jsxRuntime.jsx)(_generalSettings["default"], {})), _store.DeviceSettingTab.AUDIO, /*#__PURE__*/(0, _jsxRuntime.jsx)(_audioSettings["default"], {})), _store.DeviceSettingTab.VIDEO, /*#__PURE__*/(0, _jsxRuntime.jsx)(_videoSettings["default"], {
43
45
  videoActiveTab: dialogConfig.videoActiveTab
44
- })), _store.DeviceSettingTab.STORAGE, /*#__PURE__*/(0, _jsxRuntime.jsx)(_storageSettings["default"], {})), _store.DeviceSettingTab.STATE, /*#__PURE__*/(0, _jsxRuntime.jsx)(_state["default"], {}));
46
+ })), _store.DeviceSettingTab.STORAGE, /*#__PURE__*/(0, _jsxRuntime.jsx)(_storageSettings["default"], {})), _store.DeviceSettingTab.STATE, /*#__PURE__*/(0, _jsxRuntime.jsx)(_state["default"], {})), _store.DeviceSettingTab.TRANSLATE, /*#__PURE__*/(0, _jsxRuntime.jsx)(_translateSettings["default"], {})), _store.DeviceSettingTab.MINUTES, /*#__PURE__*/(0, _jsxRuntime.jsx)(_minutesSettings["default"], {}));
45
47
  var ns = (0, _useNamespace.useNamespace)('device-settings');
46
48
  var getListItemCls = function getListItemCls(tabKey) {
47
49
  return (0, _classnames["default"])(ns.e('nav-list-item'), ns.is('active', dialogConfig.activeTab === tabKey));
@@ -112,6 +114,36 @@ var DeviceSettingsView = exports.DeviceSettingsView = (0, _mobxReact.observer)(f
112
114
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
113
115
  children: t('fmt_setting_option_Video')
114
116
  })]
117
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
118
+ className: getListItemCls(_store.DeviceSettingTab.TRANSLATE),
119
+ onClick: tabClickHandler(_store.DeviceSettingTab.TRANSLATE),
120
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
121
+ className: getSurroundingCls('purple'),
122
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
123
+ type: _type.FcrIconType.FCR_MOBILE_SUBTITIES_ON,
124
+ colors: {
125
+ iconPrimary: 'white'
126
+ },
127
+ size: 24
128
+ })
129
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
130
+ children: t('fmt_ai_subtitles_setting_label_translation_setting')
131
+ })]
132
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
133
+ className: getListItemCls(_store.DeviceSettingTab.MINUTES),
134
+ onClick: tabClickHandler(_store.DeviceSettingTab.MINUTES),
135
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
136
+ className: getSurroundingCls('purple'),
137
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
138
+ type: _type.FcrIconType.FCR_MEETINGRECORD,
139
+ colors: {
140
+ iconPrimary: 'white'
141
+ },
142
+ size: 24
143
+ })
144
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
145
+ children: t('fmt_ai_summary_setting_label_AI')
146
+ })]
115
147
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("li", {
116
148
  className: getListItemCls(_store.DeviceSettingTab.STATE),
117
149
  onClick: tabClickHandler(_store.DeviceSettingTab.STATE),
@@ -1,4 +1,4 @@
1
- import { FcrDesktopMediaControl, FcrMainRoomControl } from 'agora-edu-core';
1
+ import { FcrDesktopMediaControl, FcrBaseRoomControl } from 'agora-edu-core';
2
2
  import { UIModule } from '../../base';
3
3
  import './index.css';
4
4
  import { FcrDeviceStore } from '../../common/device-store';
@@ -8,7 +8,7 @@ import { FcrDeviceStreamStore } from '../../common/device-stream-store';
8
8
  export declare class ShareScreenUIModule extends UIModule {
9
9
  private _store;
10
10
  constructor(args: {
11
- roomControl: FcrMainRoomControl;
11
+ roomControl: FcrBaseRoomControl;
12
12
  mediaControl: FcrDesktopMediaControl;
13
13
  deviceStore: FcrDeviceStore;
14
14
  securityStore: FcrSecurityStore;
@@ -19,28 +19,30 @@ var _jsxRuntime = require("react/jsx-runtime");
19
19
  var App = (0, _root.hot)(function () {
20
20
  return null;
21
21
  });
22
- _reactDom["default"].render( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {}), document.querySelector('#root'));
23
- window.__DEV_ENGINE_IS_READY__.then( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
24
- var engine, roomId, roomControl, userName, deviceStore, uiEventStore, securityStore, dialogModule, uiModule, App;
22
+ _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(App, {}), document.querySelector('#root'));
23
+ window.__DEV_ENGINE_IS_READY__.then(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
24
+ var engine, roomId, token, roomControl, userName, deviceStore, uiEventStore, securityStore, dialogModule, uiModule, App;
25
25
  return _regenerator["default"].wrap(function _callee$(_context) {
26
26
  while (1) switch (_context.prev = _context.next) {
27
27
  case 0:
28
28
  engine = window.__DEV_ENGINE__;
29
29
  roomId = window.__DEV_ROOM_ID__;
30
- _context.next = 4;
30
+ token = window.__DEV_USER_TOKEN__;
31
+ _context.next = 5;
31
32
  return engine.login();
32
- case 4:
33
+ case 5:
33
34
  roomControl = engine.createRoomControl(roomId);
34
35
  userName = 'test-user';
35
- deviceStore = new _deviceStore.FcrDeviceStore(userName, engine.getMediaControl());
36
- _context.next = 9;
36
+ deviceStore = new _deviceStore.FcrDeviceStore(userName, engine.getDesktopMediaControl());
37
+ _context.next = 10;
37
38
  return roomControl.join({
38
39
  userRole: _type.FcrUserRole.HOST,
39
40
  userName: userName,
41
+ roomToken: token,
40
42
  streamLatency: _type.FcrStreamLatencyLevel.ULTRA_LOW,
41
43
  createStreamConfigs: []
42
44
  });
43
- case 9:
45
+ case 10:
44
46
  uiEventStore = new _eventStore.FcrUIEventStore();
45
47
  securityStore = new _securityStore.FcrSecurityStore(roomControl.getPrivilegeControl(), roomControl.getUserControl(), roomControl.getStreamControl(), roomControl.getRoomSessionControl(), uiEventStore);
46
48
  dialogModule = new _dialog.DialogUIModule({
@@ -54,10 +56,10 @@ window.__DEV_ENGINE_IS_READY__.then( /*#__PURE__*/(0, _asyncToGenerator2["defaul
54
56
  });
55
57
  uiModule = new _.ShareScreenUIModule({
56
58
  roomControl: roomControl,
57
- mediaControl: engine.getMediaControl(),
59
+ mediaControl: engine.getDesktopMediaControl(),
58
60
  deviceStore: deviceStore,
59
61
  deviceStreamStore: new _deviceStreamStore.FcrDeviceStreamStore({
60
- mediaControl: engine.getMediaControl(),
62
+ mediaControl: engine.getDesktopMediaControl(),
61
63
  roomControl: roomControl,
62
64
  securityStore: securityStore,
63
65
  deviceStore: deviceStore,
@@ -87,8 +89,8 @@ window.__DEV_ENGINE_IS_READY__.then( /*#__PURE__*/(0, _asyncToGenerator2["defaul
87
89
  }), uiModule.getComponent(), dialogModule.getComponent()]
88
90
  });
89
91
  });
90
- _reactDom["default"].render( /*#__PURE__*/(0, _jsxRuntime.jsx)(App, {}), document.querySelector('#root'));
91
- case 15:
92
+ _reactDom["default"].render(/*#__PURE__*/(0, _jsxRuntime.jsx)(App, {}), document.querySelector('#root'));
93
+ case 16:
92
94
  case "end":
93
95
  return _context.stop();
94
96
  }
@@ -7,6 +7,8 @@ require("core-js/modules/es.object.to-string.js");
7
7
  require("core-js/modules/es.reflect.construct.js");
8
8
  require("core-js/modules/es.string.iterator.js");
9
9
  require("core-js/modules/es.weak-map.js");
10
+ require("core-js/modules/esnext.weak-map.delete-all.js");
11
+ require("core-js/modules/esnext.weak-map.emplace.js");
10
12
  require("core-js/modules/web.dom-collections.iterator.js");
11
13
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
12
14
  var _typeof = require("@babel/runtime/helpers/typeof");
@@ -9,6 +9,7 @@ exports.ShareSelection = void 0;
9
9
  require("core-js/modules/es.array.includes.js");
10
10
  require("core-js/modules/es.array.iterator.js");
11
11
  require("core-js/modules/es.array.map.js");
12
+ require("core-js/modules/es.array-buffer.constructor.js");
12
13
  require("core-js/modules/es.array-buffer.slice.js");
13
14
  require("core-js/modules/es.data-view.js");
14
15
  require("core-js/modules/es.object.to-string.js");
@@ -46,6 +47,12 @@ require("core-js/modules/es.typed-array.with.js");
46
47
  require("core-js/modules/esnext.array-buffer.detached.js");
47
48
  require("core-js/modules/esnext.array-buffer.transfer.js");
48
49
  require("core-js/modules/esnext.array-buffer.transfer-to-fixed-length.js");
50
+ require("core-js/modules/esnext.async-iterator.map.js");
51
+ require("core-js/modules/esnext.iterator.map.js");
52
+ require("core-js/modules/esnext.typed-array.filter-reject.js");
53
+ require("core-js/modules/esnext.typed-array.group-by.js");
54
+ require("core-js/modules/esnext.typed-array.to-spliced.js");
55
+ require("core-js/modules/esnext.typed-array.unique-by.js");
49
56
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
50
57
  var _card = require("agora-ui-foundation/lib/components/card");
51
58
  var _type = require("agora-rte-sdk/lib/core/rtc/type");
@@ -63,6 +70,8 @@ var _tooltip = require("agora-ui-foundation/lib/components/tooltip");
63
70
  var _i18n = require("agora-ui-foundation/lib/i18n");
64
71
  require("./index.css");
65
72
  var _store = require("../store");
73
+ var _popover = require("agora-ui-foundation/lib/components/popover");
74
+ var _openMicTips = _interopRequireDefault(require("../../../fragments/share-screen-selection/open-mic-tips"));
66
75
  var _jsxRuntime = require("react/jsx-runtime");
67
76
  var ShareSelectionWindowType = /*#__PURE__*/function (ShareSelectionWindowType) {
68
77
  ShareSelectionWindowType["BASIC"] = "basic";
@@ -81,22 +90,37 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
81
90
  localUser = _useContext.localUser,
82
91
  localUserRole = _useContext.localUserRole,
83
92
  title = _useContext.title,
93
+ localMicrophoneMute = _useContext.localMicrophoneMute,
84
94
  handleChooseScreen = _useContext.handleChooseScreen,
85
95
  handleStartShare = _useContext.handleStartShare,
86
96
  setShareWithAudioState = _useContext.setShareWithAudioState,
87
97
  setShareAudioProcessingChannel = _useContext.setShareAudioProcessingChannel,
88
98
  closeShareScreenSelection = _useContext.closeShareScreenSelection,
89
- handlerBoardShareStop = _useContext.handlerBoardShareStop;
99
+ handlerBoardShareStop = _useContext.handlerBoardShareStop,
100
+ sendLocalAudioStateEvent = _useContext.sendLocalAudioStateEvent;
90
101
  var _useState = (0, _react.useState)(false),
91
102
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
92
103
  loading = _useState2[0],
93
104
  setLoading = _useState2[1];
105
+ var _useState3 = (0, _react.useState)(false),
106
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
107
+ showOpenMicTips = _useState4[0],
108
+ setShowOpenMicTips = _useState4[1];
94
109
  (0, _react.useEffect)(function () {
95
110
  setLoading(false);
96
111
  return function () {
97
112
  setLoading(false);
98
113
  };
99
114
  }, []);
115
+ var toggleShareWithAudio = function toggleShareWithAudio(target) {
116
+ setShareWithAudioState(target);
117
+ setShowOpenMicTips(target && localMicrophoneMute);
118
+ };
119
+ var openMicAndCloseTips = function openMicAndCloseTips() {
120
+ setShareWithAudioState(true);
121
+ setShowOpenMicTips(false);
122
+ sendLocalAudioStateEvent();
123
+ };
100
124
  var handleOkClick = (0, _react.useCallback)((0, _debounce["default"])(function () {
101
125
  if (currentSelection) {
102
126
  setLoading(true);
@@ -201,11 +225,25 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
201
225
  className: "share-selection-window__footer",
202
226
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
203
227
  className: "share-selection-window__footer-action",
204
- children: currentSelection.split('-')[0] !== 'whiteboard' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_shareAudio.ShareAudio, {
205
- shareWithAudio: shareWithAudio,
206
- toggleShareWithAudio: setShareWithAudioState,
207
- currentAudioChannel: currentShareAudioProcessingChannel,
208
- onSwitchAudioChannel: setShareAudioProcessingChannel
228
+ children: currentSelection.split('-')[0] !== 'whiteboard' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_popover.FcrPopover, {
229
+ showArrow: true,
230
+ visible: showOpenMicTips,
231
+ overlayInnerStyle: {
232
+ width: '270px'
233
+ },
234
+ placement: "top",
235
+ content: /*#__PURE__*/(0, _jsxRuntime.jsx)(_openMicTips["default"], {
236
+ onCancel: function onCancel() {
237
+ return toggleShareWithAudio(false);
238
+ },
239
+ onOK: openMicAndCloseTips
240
+ }),
241
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_shareAudio.ShareAudio, {
242
+ shareWithAudio: shareWithAudio,
243
+ toggleShareWithAudio: toggleShareWithAudio,
244
+ currentAudioChannel: currentShareAudioProcessingChannel,
245
+ onSwitchAudioChannel: setShareAudioProcessingChannel
246
+ })
209
247
  })
210
248
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
211
249
  disabled: currentSelection.split('-')[0] === 'whiteboard' && !!(boardOwnerUser !== null && boardOwnerUser !== void 0 && boardOwnerUser.userId) || loading,
@@ -1,27 +1,57 @@
1
1
  .share-state-bar {
2
2
  background-color: var(--fcr_web_ui_scene_fill2);
3
3
  border-radius: var(--fcr_cornerradius_s);
4
- gap: 10px;
5
- height: 34px;
6
- width: fit-content;
7
4
  padding: 10px;
5
+ box-shadow: var(--fcr_web_light_dropup);
6
+ flex-direction: column;
7
+ display: flex;
8
+ flex-wrap: nowrap;
9
+ align-items: center;
8
10
  }
9
11
 
10
- .share-state-bar,
11
- .share-state-bar__state {
12
+ .share-state-bar__control {
13
+ gap: 10px;
14
+ height: 28px;
12
15
  display: flex;
13
- flex-direction: row;
14
- flex-wrap: nowrap;
16
+ width: max-content;
15
17
  align-items: center;
16
18
  }
17
19
 
18
20
  .share-state-bar__state {
19
21
  gap: 10px;
22
+ display: flex;
23
+ align-items: center;
24
+ border-radius: var(--fcr_cornerradius_xs);
25
+ padding: 3px 5px 3px 3px;
26
+ }
27
+
28
+ .share-state-bar .divider-vertical {
29
+ border-left: 1px solid;
30
+ border-image: linear-gradient(to bottom, transparent 0%, #888 50%, #888 50%, transparent 100%) 1;
31
+ }
32
+
33
+ .share-state-bar__state:hover {
34
+ background: var(--fcr_web_ui_scene_hover);
35
+ color: var(--fcr_web_ui_scene_mainicon2);
36
+ cursor: pointer;
37
+ }
38
+
39
+ .share-state-bar__state:hover svg:nth-child(3) path {
40
+ fill: var(--fcr_web_ui_scene_mainicon2);
41
+ }
42
+
43
+ .share-state-bar__text {
44
+ width: 100px;
45
+ line-height: 1;
20
46
  }
21
47
 
22
48
  .share-state-bar__share_screen_preview {
23
- width: 58px;
24
- height: 34px;
49
+ width: 100%;
50
+ aspect-ratio: 16 / 9;
51
+ margin-top: 10px;
52
+ background-color: #d9d9d9;
53
+ border-radius: var(--fcr_cornerradius_xs);
54
+ overflow: hidden;
25
55
  }
26
56
 
27
57
  .share-state-bar__stop-share {
@@ -33,6 +63,14 @@
33
63
  cursor: pointer;
34
64
  }
35
65
 
36
- .share-state-bar__share_screen_preview {
37
- background-color: #d9d9d9;
66
+ .share-state-bar .share-state-nav__drag-button:hover,
67
+ .share-state-bar .share-state-nav__transfer-position:hover {
68
+ background-color: var(--fcr_web_ui_scene_hover);
69
+ height: 20px;
70
+ cursor: pointer;
71
+ }
72
+
73
+ .share-state-bar .share-state-nav__drag-button:hover path,
74
+ .share-state-bar .share-state-nav__transfer-position:hover path {
75
+ fill: var(--fcr_web_ui_scene_mainicon2);
38
76
  }
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import './index.css';
3
2
  export declare const ShareStateBar: import("react").ForwardRefExoticComponent<{
4
3
  onStopShare: () => void;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.ShareStateBar = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var _button = require("agora-ui-foundation/lib/components/button");
10
11
  var _divider = _interopRequireDefault(require("agora-ui-foundation/lib/components/divider"));
11
12
  var _icon = require("agora-ui-foundation/lib/components/icon");
@@ -17,33 +18,60 @@ require("./index.css");
17
18
  var _i18n = require("agora-ui-foundation/lib/i18n");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
20
  var ShareStateBar = exports.ShareStateBar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
20
- var shareScreenPreviewRef = (0, _react.useRef)(null);
21
+ var shareScreenBarRef = (0, _react.useRef)(null);
22
+ var rndRef = (0, _react.useRef)(null);
23
+ var _useState = (0, _react.useState)(false),
24
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
25
+ showPreview = _useState2[0],
26
+ setShowPreview = _useState2[1];
21
27
  var t = (0, _i18n.useI18n)();
22
28
  (0, _react.useEffect)(function () {
23
- if (shareScreenPreviewRef) {
24
- // ref(shareScreenPreviewRef.current);
25
- }
26
- }, [shareScreenPreviewRef]);
29
+ var _shareScreenBarRef$cu, _rndRef$current;
30
+ var _document$body = document.body,
31
+ offsetWidth = _document$body.offsetWidth,
32
+ offsetTop = _document$body.offsetTop;
33
+ var barWidth = ((_shareScreenBarRef$cu = shareScreenBarRef.current) === null || _shareScreenBarRef$cu === void 0 ? void 0 : _shareScreenBarRef$cu.offsetWidth) || 300;
34
+ (_rndRef$current = rndRef.current) === null || _rndRef$current === void 0 || _rndRef$current.updatePosition({
35
+ x: offsetWidth / 2 - barWidth / 2,
36
+ y: offsetTop
37
+ });
38
+ }, [rndRef]);
27
39
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRnd.Rnd, {
40
+ bounds: "window",
41
+ ref: rndRef,
28
42
  enableResizing: false,
29
43
  dragHandleClassName: "share-state-nav__drag-icon",
30
44
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
31
45
  className: "share-state-bar",
32
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_shareStateNav.DragIcon, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_divider["default"], {
33
- type: "vertical"
34
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
35
- className: "share-state-bar__state",
36
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
37
- type: _type.FcrIconType.FCR_VIDEO_SHARESCREEN,
38
- size: 22,
39
- colors: {
40
- iconPrimary: 'var(--fcr_ui_scene_ramp_green6)'
41
- }
42
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
43
- children: t('fmt_modules_labels_sharing')
44
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
45
- className: "share-state-bar__share_screen_preview",
46
- ref: ref
46
+ ref: shareScreenBarRef,
47
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
48
+ className: "share-state-bar__control",
49
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_shareStateNav.DragIcon, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_divider["default"], {
50
+ type: "vertical"
51
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
52
+ className: "share-state-bar__state",
53
+ onClick: function onClick() {
54
+ return setShowPreview(!showPreview);
55
+ },
56
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
57
+ type: _type.FcrIconType.FCR_VIDEO_SHARESCREEN,
58
+ size: 22,
59
+ colors: {
60
+ iconPrimary: 'var(--fcr_ui_scene_ramp_green6)'
61
+ }
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
63
+ className: "share-state-bar__text",
64
+ children: t('fmt_modules_labels_sharing')
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_icon.FcrIcon, {
66
+ size: 12,
67
+ type: _type.FcrIconType.FCR_V2_CHEVRON_DOWN2,
68
+ style: {
69
+ transform: showPreview ? 'rotate(180deg)' : 'rotate(0deg)'
70
+ },
71
+ colors: {
72
+ iconPrimary: 'var(--fcr_ui_scene_icontext3)'
73
+ }
74
+ })]
47
75
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
48
76
  type: "primary",
49
77
  styleType: "danger",
@@ -61,6 +89,9 @@ var ShareStateBar = exports.ShareStateBar = /*#__PURE__*/(0, _react.forwardRef)(
61
89
  }), t('fmt_screenshare_controlbar_button_stop')]
62
90
  })
63
91
  })]
92
+ }), showPreview && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
93
+ className: "share-state-bar__share_screen_preview",
94
+ ref: ref
64
95
  })]
65
96
  })
66
97
  });
@@ -1,11 +1,10 @@
1
- /// <reference types="react" />
2
- import { FcrDesktopMediaControl, FcrMainRoomControl, FcrMediaSourceState } from 'agora-edu-core';
1
+ import { FcrBaseRoomControl, FcrDesktopMediaControl, FcrMediaSourceState } from 'agora-edu-core';
3
2
  import { FcrUserInfo, FcrUserRole } from 'agora-edu-core/lib/type';
4
3
  import { AgoraRtcDisplayInfo, AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
5
4
  import { AudioProcessingChannel } from 'agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio';
6
5
  import { FcrUIEventStore } from '../../common/event-store';
7
6
  import { FcrSecurityStore } from '../../common/security-store';
8
- import { DialogKey, UIAction } from '../../utilities/constant';
7
+ import { DialogKey } from '../../utilities/constant';
9
8
  import { FcrDeviceStreamStore } from '../../common/device-stream-store';
10
9
  import { FcrDeviceStore } from '../../common/device-store';
11
10
  type ScreenCaptureSourceType = Omit<AgoraRtcDisplayInfo, 'image'> & {
@@ -26,6 +25,8 @@ export default class ShareScreenStore {
26
25
  private _currentShareStreamId;
27
26
  private _connectType;
28
27
  private _removeScreenStreamFailed;
28
+ private _isReplaceScreen;
29
+ private _previewDom;
29
30
  private _observer;
30
31
  private _deviceStoreObserver;
31
32
  private _roomObserver;
@@ -53,15 +54,16 @@ export default class ShareScreenStore {
53
54
  accessor currentSelection: string;
54
55
  accessor currentSelectionType: AgoraRtcScreenCaptureType;
55
56
  accessor shareWithAudio: boolean;
56
- accessor boardOwnerUser: FcrUserInfo | null;
57
+ accessor boardOwnerUser: FcrUserInfo | undefined;
57
58
  accessor localUser: FcrUserInfo | null;
58
59
  accessor localUserRole: FcrUserRole;
59
60
  accessor title: string;
61
+ accessor localMicrophoneMute: boolean;
60
62
  get localVideoState(): boolean | undefined;
61
63
  get localAudioState(): boolean | undefined;
62
64
  get localAudioVolume(): boolean | undefined;
63
65
  constructor({ roomControl, mediaControl, securityStore, uiEventStore, deviceStore, deviceStreamStore, }: {
64
- roomControl: FcrMainRoomControl;
66
+ roomControl: FcrBaseRoomControl;
65
67
  mediaControl: FcrDesktopMediaControl;
66
68
  securityStore: FcrSecurityStore;
67
69
  uiEventStore: FcrUIEventStore;
@@ -72,19 +74,14 @@ export default class ShareScreenStore {
72
74
  setShareWithAudioState(withAudio: boolean): void;
73
75
  setShareAudioProcessingChannel(currentShareAudioProcessingChannel: any): void;
74
76
  handlerBoardShareStop(): void;
77
+ sendLocalAudioStateEvent(): void;
75
78
  release(): void;
76
79
  handleCheckScreenCapturePermission(): void;
77
80
  handleToSetting(): void;
78
- setShareWithAudio(withAudio: any, confirmAudioShareWhileMicOff?: boolean): void;
79
81
  muteLocalAudio(mute: boolean, confirmAudioShareWhileMicOff?: boolean): Promise<void>;
80
82
  muteLocalVideo(mute: boolean): Promise<void>;
81
- onUiEvent(event: UIAction, params: any): Promise<void>;
82
- handleShareScreenResource(): Promise<void>;
83
- handleStartShare(id?: string, type?: AgoraRtcScreenCaptureType, withAudio?: boolean, audioProcessingChannel?: AudioProcessingChannel): Promise<void>;
84
83
  handleShareStartWithAudio(): void;
85
84
  handleShareStopWithAudio(): void;
86
- handleStopShare(): void;
87
- handleReplaceScreen(id?: string, type?: AgoraRtcScreenCaptureType, withAudio?: boolean, audioProcessingChannel?: AudioProcessingChannel): void;
88
85
  startPreview(dom: HTMLElement): void;
89
86
  setShareControlBarActive(active: boolean): void;
90
87
  setCurrentCameraId(deviceId: string): void;
@@ -107,6 +104,14 @@ export default class ShareScreenStore {
107
104
  openVideoWindowDialog(): void;
108
105
  closeControlBar(): void;
109
106
  closeVideoWindowDialog(): void;
107
+ setShareWithAudio(withAudio: any, confirmAudioShareWhileMicOff?: boolean): void;
108
+ private _setWithAudioState;
109
+ handleShareScreenResource(): Promise<void>;
110
+ handleStartShare(id?: string, type?: AgoraRtcScreenCaptureType, withAudio?: boolean, audioProcessingChannel?: AudioProcessingChannel): Promise<void>;
111
+ handleReplaceScreen(id?: string, type?: AgoraRtcScreenCaptureType, withAudio?: boolean, audioProcessingChannel?: AudioProcessingChannel): void;
112
+ handleStopShare(): void;
113
+ private _createScreenStream;
114
+ private _handleWebScreenCaptureStateUpdated;
110
115
  private _handleScreenCaptureStateUpdated;
111
116
  private _updateCameraList;
112
117
  private _updateMicrophoneList;
@@ -117,9 +122,11 @@ export default class ShareScreenStore {
117
122
  private _removeScreenStream;
118
123
  private _syncShareStreamState;
119
124
  private _refreshLocalUser;
125
+ private _onStreamRemoved;
120
126
  private _addEventListeners;
121
127
  private _removeEventListeners;
122
128
  private _addReactions;
129
+ private _onUiEvent;
123
130
  private _removeReactions;
124
131
  private _showToast;
125
132
  private _validateWindow;