fcr-ui-scene 3.7.9-alpha → 3.8.0-alpha

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 (384) hide show
  1. package/lib/creator/index.d.ts +6 -3
  2. package/lib/creator/index.js +38 -20
  3. package/lib/creator/provider-initializer.browser.js +30 -2
  4. package/lib/creator/provider-initializer.electron.js +34 -6
  5. package/lib/electron/app.js +0 -1
  6. package/lib/electron/bootstrap-sdk.d.ts +3 -1
  7. package/lib/electron/bootstrap-sdk.js +93 -375
  8. package/lib/electron/exit-codes.d.ts +6 -1
  9. package/lib/electron/exit-codes.js +5 -0
  10. package/lib/electron/injections.d.ts +10 -4
  11. package/lib/electron/injections.js +116 -74
  12. package/lib/electron/ipc/ipc.js +13 -11
  13. package/lib/electron/ipc/type.d.ts +3 -1
  14. package/lib/electron/ipc/type.js +2 -0
  15. package/lib/electron/main.js +3 -1
  16. package/lib/electron/preload.js +2 -1
  17. package/lib/electron/process-manager/constants.d.ts +1 -0
  18. package/lib/electron/process-manager/constants.js +8 -0
  19. package/lib/electron/{event-manager.d.ts → process-manager/event-manager.d.ts} +3 -4
  20. package/lib/electron/{event-manager.js → process-manager/event-manager.js} +38 -30
  21. package/lib/electron/process-manager/index.d.ts +179 -0
  22. package/lib/electron/process-manager/index.js +848 -0
  23. package/lib/electron/process-manager/state-manager.d.ts +135 -0
  24. package/lib/electron/process-manager/state-manager.js +358 -0
  25. package/lib/electron/process-manager/types.d.ts +80 -0
  26. package/lib/electron/process-manager/types.js +79 -0
  27. package/lib/electron/sdk-helper.d.ts +4 -0
  28. package/lib/electron/sdk-helper.js +39 -2
  29. package/lib/fragments/annotation/libs.d.ts +1 -1
  30. package/lib/fragments/annotation/libs.js +12 -12
  31. package/lib/fragments/annotation/store.d.ts +1 -1
  32. package/lib/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -1
  33. package/lib/fragments/annotation/toolbar/components/graphic-tool/graphic-panel/libs.js +21 -21
  34. package/lib/fragments/annotation/toolbar/components/pen-tool/index.js +3 -3
  35. package/lib/fragments/annotation/toolbar/store.d.ts +1 -1
  36. package/lib/fragments/annotation/toolbar/store.js +10 -10
  37. package/lib/fragments/annotation/toolbar/view.js +7 -7
  38. package/lib/fragments/whiteboard/store.d.ts +2 -2
  39. package/lib/fragments/whiteboard/store.js +27 -21
  40. package/lib/fragments/whiteboard/view.js +2 -2
  41. package/lib/index.d.ts +1 -1
  42. package/lib/index.js +2 -2
  43. package/lib/modules/action-bar/components/apps/index.js +1 -37
  44. package/lib/modules/action-bar/components/collapse/index.d.ts +2 -1
  45. package/lib/modules/action-bar/components/collapse/index.js +11 -2
  46. package/lib/modules/action-bar/components/item/index.js +2 -2
  47. package/lib/modules/action-bar/components/screen-share/index.browser.js +21 -14
  48. package/lib/modules/action-bar/components/screen-share/index.electron.js +38 -24
  49. package/lib/modules/action-bar/components/screen-share/submenu.js +6 -5
  50. package/lib/modules/action-bar/components/security/index.js +2 -2
  51. package/lib/modules/action-bar/index.css +26 -0
  52. package/lib/modules/action-bar/main-scene/store.base.d.ts +6 -4
  53. package/lib/modules/action-bar/main-scene/store.base.js +41 -46
  54. package/lib/modules/action-bar/type.d.ts +0 -10
  55. package/lib/modules/audio-stream/index.d.ts +1 -1
  56. package/lib/modules/audio-stream/index.js +22 -8
  57. package/lib/modules/caption/draggable-container/index.css +10 -0
  58. package/lib/modules/caption/draggable-container/index.d.ts +4 -0
  59. package/lib/modules/caption/draggable-container/index.js +145 -0
  60. package/lib/modules/caption/index.d.ts +10 -0
  61. package/lib/modules/caption/index.js +127 -0
  62. package/lib/modules/caption/store.d.ts +56 -0
  63. package/lib/modules/caption/store.js +366 -0
  64. package/lib/modules/caption/type.d.ts +13 -0
  65. package/lib/modules/caption/type.js +14 -0
  66. package/lib/modules/caption/view.css +158 -0
  67. package/lib/modules/caption/view.d.ts +4 -0
  68. package/lib/modules/caption/view.js +292 -0
  69. package/lib/modules/chat/chat-room-store.d.ts +1 -1
  70. package/lib/modules/chat/chat-room-store.js +6 -6
  71. package/lib/modules/chat/components/message-list/message-item/index.js +60 -18
  72. package/lib/modules/chat/index.css +7 -0
  73. package/lib/modules/chat/store.js +1 -1
  74. package/lib/modules/components/apps/app-item/index.css +16 -1
  75. package/lib/modules/components/apps/app-item/index.js +102 -35
  76. package/lib/modules/components/apps/app-list.js +17 -1
  77. package/lib/modules/components/apps/types.d.ts +11 -1
  78. package/lib/modules/components/caption-menu/index.css +58 -0
  79. package/lib/modules/components/caption-menu/index.d.ts +41 -0
  80. package/lib/modules/components/caption-menu/index.js +112 -0
  81. package/lib/modules/components/caption-menu/participants-privilege-control-options.d.ts +2 -0
  82. package/lib/modules/components/caption-menu/participants-privilege-control-options.js +87 -0
  83. package/lib/modules/components/caption-menu/steps/index.css +73 -0
  84. package/lib/modules/components/caption-menu/steps/index.d.ts +11 -0
  85. package/lib/modules/components/caption-menu/steps/index.js +56 -0
  86. package/lib/modules/components/caption-menu/translation-setting-options.d.ts +17 -0
  87. package/lib/modules/components/caption-menu/translation-setting-options.js +181 -0
  88. package/lib/modules/components/control-bar/index.d.ts +3 -3
  89. package/lib/modules/components/control-bar/index.js +10 -10
  90. package/lib/modules/components/device-control/components/audio-menu/index.js +17 -0
  91. package/lib/modules/components/device-control/components/carmera/index.js +3 -0
  92. package/lib/modules/components/device-control/components/microphone/index.js +4 -1
  93. package/lib/modules/components/device-control/index.css +12 -4
  94. package/lib/modules/components/device-control/store.base.d.ts +1 -0
  95. package/lib/modules/components/device-control/store.base.js +2 -0
  96. package/lib/modules/components/security-menu/index.js +147 -65
  97. package/lib/modules/components/security-menu/store.d.ts +15 -0
  98. package/lib/modules/components/security-menu/store.js +78 -16
  99. package/lib/modules/components/toolbar/components/clean-tool/index.d.ts +1 -1
  100. package/lib/modules/components/toolbar/components/clean-tool/index.js +4 -4
  101. package/lib/modules/components/toolbar/components/color-tool/index.d.ts +1 -1
  102. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +1 -1
  103. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -1
  104. package/lib/modules/components/toolbar/components/graphic-tool/graphic-panel/libs.js +21 -21
  105. package/lib/modules/components/toolbar/components/graphic-tool/index.d.ts +1 -1
  106. package/lib/modules/components/toolbar/components/multiple-color-tool/index.d.ts +1 -1
  107. package/lib/modules/components/toolbar/components/pen-tool/index.d.ts +1 -1
  108. package/lib/modules/components/toolbar/components/pen-tool/index.js +3 -3
  109. package/lib/modules/components/toolbar/index.d.ts +2 -2
  110. package/lib/modules/components/toolbar/index.js +35 -34
  111. package/lib/modules/components/toolbar/style.css +1 -1
  112. package/lib/modules/components/toolbar/types.d.ts +1 -1
  113. package/lib/modules/connection-gateway/store.d.ts +1 -0
  114. package/lib/modules/connection-gateway/store.js +5 -0
  115. package/lib/modules/control-bar/components/apps-popover/index.d.ts +3 -0
  116. package/lib/modules/control-bar/components/apps-popover/index.js +41 -0
  117. package/lib/modules/control-bar/components/more-actions/index.js +9 -1
  118. package/lib/modules/control-bar/enums.d.ts +2 -1
  119. package/lib/modules/control-bar/enums.js +1 -0
  120. package/lib/modules/control-bar/store.d.ts +6 -1
  121. package/lib/modules/control-bar/store.js +56 -12
  122. package/lib/modules/control-bar/view.js +16 -11
  123. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +8 -0
  124. package/lib/modules/dialog/components/dialog-container/component/body.js +44 -5
  125. package/lib/modules/dialog/components/dialog-container/index.css +4 -1
  126. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  127. package/lib/modules/dialog/components/dialog-container/index.js +7 -1
  128. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  129. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  130. package/lib/modules/dialog/dialogs/caption/index.d.ts +21 -0
  131. package/lib/modules/dialog/dialogs/caption/index.js +42 -0
  132. package/lib/modules/dialog/dialogs/chat/components/actions.js +2 -2
  133. package/lib/modules/dialog/dialogs/confirm/index.js +1 -1
  134. package/lib/modules/dialog/dialogs/participant/components/actions.js +2 -2
  135. package/lib/modules/dialog/dialogs/subtitles-history/index.d.ts +27 -0
  136. package/lib/modules/dialog/dialogs/subtitles-history/index.js +51 -0
  137. package/lib/modules/dialog/store.base.d.ts +1 -1
  138. package/lib/modules/dialog/store.browser.d.ts +1 -1
  139. package/lib/modules/dialog/store.electron.d.ts +1 -3
  140. package/lib/modules/dialog/store.electron.js +0 -9
  141. package/lib/modules/event-sound/enum.d.ts +5 -0
  142. package/lib/modules/event-sound/enum.js +20 -0
  143. package/lib/modules/event-sound/index.d.ts +0 -10
  144. package/lib/modules/event-sound/index.js +1 -12
  145. package/lib/modules/event-sound/store.d.ts +2 -2
  146. package/lib/modules/event-sound/store.js +21 -22
  147. package/lib/modules/interpreter/store.js +4 -2
  148. package/lib/modules/layout/components/Aside.d.ts +2 -1
  149. package/lib/modules/layout/components/Aside.js +97 -58
  150. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -2
  151. package/lib/modules/layout/components/index.css +15 -2
  152. package/lib/modules/layout/store.base.d.ts +13 -2
  153. package/lib/modules/layout/store.base.js +149 -54
  154. package/lib/modules/layout/store.electron.d.ts +1 -0
  155. package/lib/modules/layout/store.electron.js +132 -32
  156. package/lib/modules/layout/type.d.ts +4 -0
  157. package/lib/modules/layout/view.js +27 -5
  158. package/lib/modules/notification/index.css +4 -4
  159. package/lib/modules/notification/store.d.ts +5 -3
  160. package/lib/modules/notification/store.js +9 -2
  161. package/lib/modules/notification/view.d.ts +1 -0
  162. package/lib/modules/notification/view.js +33 -2
  163. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +0 -1
  164. package/lib/modules/participant/components/participants/components/footer/index.js +1 -1
  165. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +2 -2
  166. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +6 -1
  167. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +1 -1
  168. package/lib/modules/participant/components/participants/index.js +13 -1
  169. package/lib/modules/participant/store.base.d.ts +1 -2
  170. package/lib/modules/participant/store.base.js +70 -71
  171. package/lib/modules/participant/type.d.ts +3 -1
  172. package/lib/modules/participant/type.js +2 -0
  173. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +1 -0
  174. package/lib/modules/pc-audio-connect/main-scene/store.js +5 -0
  175. package/lib/modules/pc-audio-connect/waiting-scene/store.d.ts +2 -0
  176. package/lib/modules/pc-audio-connect/waiting-scene/store.js +10 -6
  177. package/lib/modules/phone-audio-connect/store.d.ts +1 -0
  178. package/lib/modules/phone-audio-connect/store.js +5 -0
  179. package/lib/modules/secondary-window/store.d.ts +1 -2
  180. package/lib/modules/secondary-window/store.js +22 -12
  181. package/lib/modules/secondary-window/type.d.ts +1 -1
  182. package/lib/modules/secondary-window/view.js +7 -8
  183. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.d.ts +18 -0
  184. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +34 -0
  185. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.d.ts +63 -0
  186. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +353 -0
  187. package/lib/modules/setting/caption_and_transcribing/index.css +88 -0
  188. package/lib/modules/setting/caption_and_transcribing/index.d.ts +3 -0
  189. package/lib/modules/setting/caption_and_transcribing/index.js +96 -0
  190. package/lib/modules/setting/general-settings/general-settings.d.ts +4 -0
  191. package/lib/modules/setting/general-settings/general-settings.js +3 -3
  192. package/lib/modules/setting/index.d.ts +1 -0
  193. package/lib/modules/setting/index.js +10 -7
  194. package/lib/modules/setting/state/index.js +5 -3
  195. package/lib/modules/setting/store.base.d.ts +29 -4
  196. package/lib/modules/setting/store.base.js +141 -61
  197. package/lib/modules/setting/store.browser.js +4 -9
  198. package/lib/modules/setting/store.electron.d.ts +11 -0
  199. package/lib/modules/setting/store.electron.js +110 -1
  200. package/lib/modules/setting/type.d.ts +2 -1
  201. package/lib/modules/setting/type.js +1 -0
  202. package/lib/modules/setting/video-settings/video-settings-basic.js +1 -7
  203. package/lib/modules/setting/view.js +11 -4
  204. package/lib/modules/share-screen/store.base.d.ts +1 -1
  205. package/lib/modules/share-screen/store.base.js +3 -0
  206. package/lib/modules/share-screen/store.electron.d.ts +3 -1
  207. package/lib/modules/share-screen/store.electron.js +130 -23
  208. package/lib/modules/state-bar/index.css +73 -2
  209. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  210. package/lib/modules/state-bar/main-scene/store.base.js +7 -1
  211. package/lib/modules/state-bar/main-scene/store.browser.js +1 -1
  212. package/lib/modules/state-bar/main-scene/store.electron.js +1 -1
  213. package/lib/modules/state-bar/store.base.d.ts +5 -0
  214. package/lib/modules/state-bar/store.base.js +29 -2
  215. package/lib/modules/state-bar/subtitles-history-state.d.ts +7 -0
  216. package/lib/modules/state-bar/subtitles-history-state.js +108 -0
  217. package/lib/modules/state-bar/view.js +16 -1
  218. package/lib/modules/state-bar/waiting-scene/store.base.d.ts +1 -0
  219. package/lib/modules/state-bar/waiting-scene/store.base.js +5 -0
  220. package/lib/modules/subtitles-history/components/actions.d.ts +5 -0
  221. package/lib/modules/subtitles-history/components/actions.js +36 -0
  222. package/lib/modules/subtitles-history/components/list-item.d.ts +12 -0
  223. package/lib/modules/subtitles-history/components/list-item.js +105 -0
  224. package/lib/modules/subtitles-history/components/list.d.ts +10 -0
  225. package/lib/modules/subtitles-history/components/list.js +182 -0
  226. package/lib/modules/subtitles-history/components/respond-dialog-content.d.ts +5 -0
  227. package/lib/modules/subtitles-history/components/respond-dialog-content.js +44 -0
  228. package/lib/modules/subtitles-history/components/settings/index.css +5 -0
  229. package/lib/modules/subtitles-history/components/settings/index.d.ts +2 -0
  230. package/lib/modules/subtitles-history/components/settings/index.js +53 -0
  231. package/lib/modules/subtitles-history/components/timer.d.ts +3 -0
  232. package/lib/modules/subtitles-history/components/timer.js +44 -0
  233. package/lib/modules/subtitles-history/components/title.d.ts +1 -0
  234. package/lib/modules/subtitles-history/components/title.js +15 -0
  235. package/lib/modules/subtitles-history/empty.d.ts +2 -0
  236. package/lib/modules/subtitles-history/empty.js +22 -0
  237. package/lib/modules/subtitles-history/index.css +129 -0
  238. package/lib/modules/subtitles-history/index.d.ts +13 -0
  239. package/lib/modules/subtitles-history/index.js +107 -0
  240. package/lib/modules/subtitles-history/store.base.d.ts +74 -0
  241. package/lib/modules/subtitles-history/store.base.js +786 -0
  242. package/lib/modules/subtitles-history/store.electron.d.ts +15 -0
  243. package/lib/modules/subtitles-history/store.electron.js +154 -0
  244. package/lib/modules/subtitles-history/type.d.ts +4 -0
  245. package/lib/modules/subtitles-history/type.js +6 -0
  246. package/lib/modules/subtitles-history/view.d.ts +1 -0
  247. package/lib/modules/subtitles-history/view.js +104 -0
  248. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +2 -2
  249. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +5 -5
  250. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +15 -15
  251. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +21 -21
  252. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +23 -21
  253. package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -6
  254. package/lib/modules/whiteboard/components/toolbar/store.js +14 -15
  255. package/lib/modules/whiteboard/store.d.ts +2 -3
  256. package/lib/modules/whiteboard/store.electron.d.ts +2 -0
  257. package/lib/modules/whiteboard/store.electron.js +35 -0
  258. package/lib/modules/whiteboard/store.js +14 -2
  259. package/lib/modules/whiteboard/type.d.ts +0 -35
  260. package/lib/modules/whiteboard/type.js +1 -26
  261. package/lib/modules/widget/type.d.ts +3 -66
  262. package/lib/object-manager.d.ts +3 -1
  263. package/lib/object-manager.js +2 -0
  264. package/lib/providers/ability-provider.d.ts +24 -0
  265. package/lib/providers/ability-provider.js +21 -0
  266. package/lib/providers/app-list-provider.d.ts +90 -4
  267. package/lib/providers/app-list-provider.js +157 -13
  268. package/lib/providers/board-share/bar-control/base.d.ts +4 -5
  269. package/lib/providers/board-share/bar-control/base.js +4 -4
  270. package/lib/providers/board-share/bar-control/browser.d.ts +2 -2
  271. package/lib/providers/board-share/bar-control/electron.d.ts +4 -5
  272. package/lib/providers/board-share/bar-control/electron.js +2 -0
  273. package/lib/providers/board-share/provider.base.d.ts +6 -6
  274. package/lib/providers/board-share/provider.base.js +20 -3
  275. package/lib/providers/board-share/provider.browser.js +2 -2
  276. package/lib/providers/board-share/provider.electron.js +1 -2
  277. package/lib/providers/board-share/type.d.ts +1 -2
  278. package/lib/providers/device-provider.d.ts +15 -5
  279. package/lib/providers/device-provider.js +199 -145
  280. package/lib/providers/dialog/provider.base.js +1 -1
  281. package/lib/providers/dialog/provider.electron.js +3 -0
  282. package/lib/providers/interpreter-provider.js +4 -9
  283. package/lib/providers/multi-display-provider.d.ts +1 -1
  284. package/lib/providers/privilege-provider.d.ts +241 -139
  285. package/lib/providers/privilege-provider.js +577 -318
  286. package/lib/providers/room-provider/waiting-room-control-manager.d.ts +1 -1
  287. package/lib/providers/screen-share/constant.d.ts +1 -0
  288. package/lib/providers/screen-share/constant.js +8 -0
  289. package/lib/providers/screen-share/provider.base.d.ts +20 -7
  290. package/lib/providers/screen-share/provider.base.js +27 -27
  291. package/lib/providers/screen-share/provider.browser.js +14 -18
  292. package/lib/providers/screen-share/provider.electron.d.ts +8 -0
  293. package/lib/providers/screen-share/provider.electron.js +41 -13
  294. package/lib/providers/screen-share/strategy/electron.d.ts +2 -1
  295. package/lib/providers/screen-share/strategy/electron.js +64 -56
  296. package/lib/providers/screen-share/strategy/type.d.ts +2 -2
  297. package/lib/providers/screen-share/stream-state-sync.js +5 -3
  298. package/lib/providers/screen-share/struct.d.ts +14 -4
  299. package/lib/providers/screen-share/struct.js +16 -5
  300. package/lib/providers/screen-share/type.d.ts +32 -2
  301. package/lib/providers/stt-provider/stt-provider.d.ts +89 -0
  302. package/lib/providers/stt-provider/stt-provider.js +1008 -0
  303. package/lib/providers/stt-provider/type.d.ts +168 -0
  304. package/lib/providers/stt-provider/type.js +19 -0
  305. package/lib/providers/window/main-window.d.ts +1 -0
  306. package/lib/providers/window/main-window.js +6 -1
  307. package/lib/providers/window/renderer-window.d.ts +4 -0
  308. package/lib/providers/window/renderer-window.js +19 -1
  309. package/lib/providers/window/type.d.ts +4 -0
  310. package/lib/runtime.d.ts +8 -7
  311. package/lib/runtime.js +1 -2
  312. package/lib/scenes/main-scene.js +112 -66
  313. package/lib/schema.d.ts +70 -8
  314. package/lib/schema.js +7 -2
  315. package/lib/shared-data/app-list-data.d.ts +4 -0
  316. package/lib/shared-data/app-list-data.js +21 -1
  317. package/lib/shared-data/config.d.ts +5 -1
  318. package/lib/shared-data/layout-data.d.ts +5 -0
  319. package/lib/shared-data/layout-data.js +35 -9
  320. package/lib/shared-data/member-data.d.ts +2 -3
  321. package/lib/shared-data/screen-share/index.d.ts +0 -2
  322. package/lib/shared-data/screen-share/index.js +20 -36
  323. package/lib/shared-data/screen-share/type.d.ts +0 -8
  324. package/lib/shared-data/security-data.d.ts +4 -0
  325. package/lib/shared-data/security-data.js +14 -10
  326. package/lib/shared-data/setting.d.ts +16 -1
  327. package/lib/shared-data/setting.js +33 -6
  328. package/lib/shared-data/stt-setting.ts/constant.d.ts +29 -0
  329. package/lib/shared-data/stt-setting.ts/constant.js +35 -0
  330. package/lib/shared-data/stt-setting.ts/index.d.ts +67 -0
  331. package/lib/shared-data/stt-setting.ts/index.js +202 -0
  332. package/lib/shared-data/stt-setting.ts/type.d.ts +10 -0
  333. package/lib/shared-data/stt-setting.ts/type.js +14 -0
  334. package/lib/shared-data/video-window.d.ts +1 -2
  335. package/lib/shared-data/video-window.js +20 -32
  336. package/lib/translations/enUS.d.ts +9 -0
  337. package/lib/translations/enUS.js +21 -4
  338. package/lib/translations/zhCN.d.ts +9 -0
  339. package/lib/translations/zhCN.js +21 -4
  340. package/lib/type.d.ts +20 -15
  341. package/lib/type.js +1 -0
  342. package/lib/{ui-scene.d.ts → ui-scene-switch.d.ts} +1 -1
  343. package/lib/{ui-scene.js → ui-scene-switch.js} +29 -9
  344. package/lib/utilities/constant.d.ts +6 -2
  345. package/lib/utilities/constant.js +5 -1
  346. package/lib/utilities/default-config.d.ts +3 -3
  347. package/lib/utilities/default-config.js +7 -17
  348. package/lib/utilities/focus-helper.js +18 -11
  349. package/lib/utilities/renderer.d.ts +4 -6
  350. package/lib/utilities/renderer.js +10 -4
  351. package/lib/utilities/tools.d.ts +1 -0
  352. package/lib/utilities/tools.js +6 -1
  353. package/lib/utilities/ui-resources.d.ts +9 -2
  354. package/lib/utilities/ui-resources.js +36 -12
  355. package/package.json +11 -6
  356. package/public/index.html +1 -0
  357. package/public/meeting-manager.js +23 -9
  358. package/installer/icons/favicon.ico +0 -0
  359. package/installer/icons/favicon.png +0 -0
  360. package/installer/icons/icon.png +0 -0
  361. package/installer/mac/entitlements.mac.plist +0 -16
  362. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +0 -17
  363. package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +0 -5
  364. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +0 -242
  365. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +0 -192
  366. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +0 -4
  367. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +0 -206
  368. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +0 -57
  369. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +0 -5
  370. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +0 -229
  371. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +0 -5
  372. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +0 -68
  373. package/lib/modules/participant/components/participants/components/participants/index.css +0 -105
  374. package/lib/modules/participant/components/participants/components/participants/index.d.ts +0 -3
  375. package/lib/modules/participant/components/participants/components/participants/index.js +0 -117
  376. package/lib/modules/participant/components/participants/types.d.ts +0 -101
  377. package/lib/modules/participant/components/participants/types.js +0 -37
  378. package/lib/modules/setting/config.d.ts +0 -36
  379. package/lib/modules/setting/config.js +0 -36
  380. package/lib/modules/widget/sdk.d.ts +0 -30
  381. package/lib/modules/widget/sdk.js +0 -224
  382. package/lib/widget-sdk.d.ts +0 -2
  383. package/lib/widget-sdk.js +0 -13
  384. /package/public/assets/electron/sound_effects/{pretest.mp3 → speakerTest.mp3} +0 -0
@@ -0,0 +1,18 @@
1
+ export interface AudioDeviceAdaptationConfig {
2
+ /**
3
+ * WhiteList device ID list
4
+ */
5
+ whiteListDeviceIds: string[];
6
+ /**
7
+ * WhiteList device configuration (disable 3A)
8
+ */
9
+ whiteListConfig: {
10
+ audioEchoCancellation: boolean;
11
+ audioAgc: boolean;
12
+ noiseReduce: number;
13
+ };
14
+ }
15
+ /**
16
+ * Audio device whiteList configuration
17
+ */
18
+ export declare const AUDIO_DEVICE_WHITE_LIST_CONFIG: AudioDeviceAdaptationConfig;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AUDIO_DEVICE_WHITE_LIST_CONFIG = void 0;
8
+ /**
9
+ * Audio device whiteList configuration
10
+ */
11
+ var AUDIO_DEVICE_WHITE_LIST_CONFIG = exports.AUDIO_DEVICE_WHITE_LIST_CONFIG = {
12
+ whiteListDeviceIds: [
13
+ // Sennheiser-EPOS 20 EPOS EXPAND 20
14
+ '1395:0380',
15
+ // Sennheiser-EPOS 80 EPOS EXPAND 80
16
+ '1395:0093',
17
+ // Sennheiser-EPOS 80T EPOS EXPAND 80T
18
+ '1395:00CC',
19
+ // Poly-p15 Poly Studio P15
20
+ '095D:9290',
21
+ // A460 Speakerphone
22
+ '33F1:10AA',
23
+ // Huawei-MIC100 Mic 100会议音箱
24
+ '12D1:2308', //Hamedal Speak A20
25
+ "1FC9:826B", //Hamedal A21T TEA
26
+ "2A5F:2005",
27
+ //HD Audio
28
+ '33F1:1016'],
29
+ whiteListConfig: {
30
+ audioEchoCancellation: false,
31
+ audioAgc: false,
32
+ noiseReduce: 4
33
+ }
34
+ };
@@ -0,0 +1,63 @@
1
+ import { FcrUIAiDenoiseLevel } from '../../../type';
2
+ import { FcrDeviceInfo } from 'fcr-core/lib/type';
3
+ /**
4
+ * Audio device configuration
5
+ * Includes audio echo cancellation, automatic gain control, noise reduction and other audio processing parameters
6
+ */
7
+ export interface AudioDeviceConfig {
8
+ audioEchoCancellation: boolean;
9
+ audioAgc: boolean;
10
+ noiseReduce: FcrUIAiDenoiseLevel;
11
+ }
12
+ /**
13
+ * The manager delegates device operations and settings management to the implementing class
14
+ */
15
+ export interface AudioDeviceWhiteListDelegate {
16
+ getCurrentSetting: () => {
17
+ audioEchoCancellation: boolean;
18
+ noiseReduce: FcrUIAiDenoiseLevel;
19
+ };
20
+ getMicrophoneId: () => string;
21
+ getMicrophoneList: () => FcrDeviceInfo[];
22
+ enableAudioEchoCancellation: (enable: boolean) => void;
23
+ toggleAgc: (enable: boolean) => void;
24
+ setNoiseLevel: (level: FcrUIAiDenoiseLevel) => void;
25
+ updateSettings: (settings: {
26
+ audioEchoCancellation?: boolean;
27
+ noiseReduce?: FcrUIAiDenoiseLevel;
28
+ }) => void;
29
+ }
30
+ export declare class AudioDeviceWhiteListManager {
31
+ private logger;
32
+ private _whiteListDeviceIds;
33
+ private _whiteListConfig;
34
+ private _deviceConfigs;
35
+ private _whiteListDeviceUsed;
36
+ private _currentDeviceId;
37
+ private _delegate;
38
+ constructor(delegate: AudioDeviceWhiteListDelegate);
39
+ private _initialize;
40
+ handleMicrophoneListUpdated(microphoneList: FcrDeviceInfo[]): void;
41
+ handleMicrophoneChanged(microphoneId: string, productId: string | null, vendorId: string | null): void;
42
+ private _handleDeviceChanged;
43
+ /**
44
+ * Get device 3A configuration (use current settings if not exists)
45
+ */
46
+ private _getDeviceConfig;
47
+ /**
48
+ * Update device 3A configuration (save for both white list and non-white list devices)
49
+ */
50
+ updateDeviceConfig(config: Partial<AudioDeviceConfig>): void;
51
+ private _applyAudioConfig;
52
+ private _applyWhiteListConfig;
53
+ private _applyDeviceConfig;
54
+ private _createDeviceIdentifier;
55
+ private _getDeviceIdentifierFromList;
56
+ private _isDeviceInWhiteList;
57
+ private _initializeDeviceConfigsFromList;
58
+ private _updateDeviceConfigs;
59
+ private _createConfigForDevice;
60
+ private _loadFromLocalStorage;
61
+ private _saveToLocalStorage;
62
+ release(): void;
63
+ }
@@ -0,0 +1,353 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.push.js");
6
+ require("core-js/modules/es.object.define-properties.js");
7
+ require("core-js/modules/es.object.define-property.js");
8
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/esnext.iterator.filter.js");
11
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
12
+ Object.defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ exports.AudioDeviceWhiteListManager = void 0;
16
+ require("core-js/modules/es.array.concat.js");
17
+ require("core-js/modules/es.array.find.js");
18
+ require("core-js/modules/es.array.for-each.js");
19
+ require("core-js/modules/es.array.from.js");
20
+ require("core-js/modules/es.array.includes.js");
21
+ require("core-js/modules/es.array.iterator.js");
22
+ require("core-js/modules/es.date.to-json.js");
23
+ require("core-js/modules/es.json.stringify.js");
24
+ require("core-js/modules/es.map.js");
25
+ require("core-js/modules/es.object.entries.js");
26
+ require("core-js/modules/es.object.from-entries.js");
27
+ require("core-js/modules/es.object.keys.js");
28
+ require("core-js/modules/es.object.to-string.js");
29
+ require("core-js/modules/es.set.js");
30
+ require("core-js/modules/es.string.includes.js");
31
+ require("core-js/modules/es.string.iterator.js");
32
+ require("core-js/modules/esnext.iterator.constructor.js");
33
+ require("core-js/modules/esnext.iterator.find.js");
34
+ require("core-js/modules/esnext.iterator.for-each.js");
35
+ require("core-js/modules/esnext.json.parse.js");
36
+ require("core-js/modules/esnext.map.delete-all.js");
37
+ require("core-js/modules/esnext.map.emplace.js");
38
+ require("core-js/modules/esnext.map.every.js");
39
+ require("core-js/modules/esnext.map.filter.js");
40
+ require("core-js/modules/esnext.map.find.js");
41
+ require("core-js/modules/esnext.map.find-key.js");
42
+ require("core-js/modules/esnext.map.includes.js");
43
+ require("core-js/modules/esnext.map.key-of.js");
44
+ require("core-js/modules/esnext.map.map-keys.js");
45
+ require("core-js/modules/esnext.map.map-values.js");
46
+ require("core-js/modules/esnext.map.merge.js");
47
+ require("core-js/modules/esnext.map.reduce.js");
48
+ require("core-js/modules/esnext.map.some.js");
49
+ require("core-js/modules/esnext.map.update.js");
50
+ require("core-js/modules/esnext.set.add-all.js");
51
+ require("core-js/modules/esnext.set.delete-all.js");
52
+ require("core-js/modules/esnext.set.difference.v2.js");
53
+ require("core-js/modules/esnext.set.difference.js");
54
+ require("core-js/modules/esnext.set.every.js");
55
+ require("core-js/modules/esnext.set.filter.js");
56
+ require("core-js/modules/esnext.set.find.js");
57
+ require("core-js/modules/esnext.set.intersection.v2.js");
58
+ require("core-js/modules/esnext.set.intersection.js");
59
+ require("core-js/modules/esnext.set.is-disjoint-from.v2.js");
60
+ require("core-js/modules/esnext.set.is-disjoint-from.js");
61
+ require("core-js/modules/esnext.set.is-subset-of.v2.js");
62
+ require("core-js/modules/esnext.set.is-subset-of.js");
63
+ require("core-js/modules/esnext.set.is-superset-of.v2.js");
64
+ require("core-js/modules/esnext.set.is-superset-of.js");
65
+ require("core-js/modules/esnext.set.join.js");
66
+ require("core-js/modules/esnext.set.map.js");
67
+ require("core-js/modules/esnext.set.reduce.js");
68
+ require("core-js/modules/esnext.set.some.js");
69
+ require("core-js/modules/esnext.set.symmetric-difference.v2.js");
70
+ require("core-js/modules/esnext.set.symmetric-difference.js");
71
+ require("core-js/modules/esnext.set.union.v2.js");
72
+ require("core-js/modules/esnext.set.union.js");
73
+ require("core-js/modules/web.dom-collections.for-each.js");
74
+ require("core-js/modules/web.dom-collections.iterator.js");
75
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
76
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
77
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
78
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
79
+ var _logger = require("../../../utilities/logger");
80
+ var _audioDeviceAdaptation = require("./audio-device-adaptation");
81
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
82
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
83
+ // Local storage keys
84
+ var STORAGE_KEY_DEVICE_CONFIGS = 'fcr_audio_device_configs';
85
+ var STORAGE_KEY_WHITE_LIST_INITIALIZED = 'fcr_whitelist_device_initialized';
86
+ // Default device ID for devices without vendorId/productId
87
+ var DEFAULT_DEVICE_ID = 'default_device_id';
88
+ // Default values for non-white list devices
89
+ var DEFAULT_AUDIO_AGC = false;
90
+ var DEFAULT_NOISE_REDUCE_LEVEL = 4;
91
+
92
+ /**
93
+ * Audio device configuration
94
+ * Includes audio echo cancellation, automatic gain control, noise reduction and other audio processing parameters
95
+ */
96
+
97
+ /**
98
+ * The manager delegates device operations and settings management to the implementing class
99
+ */
100
+ var AudioDeviceWhiteListManager = exports.AudioDeviceWhiteListManager = /*#__PURE__*/function () {
101
+ function AudioDeviceWhiteListManager(delegate) {
102
+ (0, _classCallCheck2["default"])(this, AudioDeviceWhiteListManager);
103
+ (0, _defineProperty2["default"])(this, "logger", (0, _logger.createLogger)({
104
+ prefix: 'AudioDeviceWhiteList'
105
+ }));
106
+ // Store 3A configurations for all devices, key is device ID (including white list and non-white list devices)
107
+ (0, _defineProperty2["default"])(this, "_deviceConfigs", new Map());
108
+ // Record whether white list device has applied default configuration, key is device ID
109
+ (0, _defineProperty2["default"])(this, "_whiteListDeviceUsed", new Set());
110
+ // Current device ID (microphone)
111
+ (0, _defineProperty2["default"])(this, "_currentDeviceId", null);
112
+ this._delegate = delegate;
113
+ this._whiteListDeviceIds = (0, _toConsumableArray2["default"])(_audioDeviceAdaptation.AUDIO_DEVICE_WHITE_LIST_CONFIG.whiteListDeviceIds);
114
+ this._whiteListConfig = {
115
+ audioEchoCancellation: _audioDeviceAdaptation.AUDIO_DEVICE_WHITE_LIST_CONFIG.whiteListConfig.audioEchoCancellation,
116
+ audioAgc: _audioDeviceAdaptation.AUDIO_DEVICE_WHITE_LIST_CONFIG.whiteListConfig.audioAgc,
117
+ noiseReduce: _audioDeviceAdaptation.AUDIO_DEVICE_WHITE_LIST_CONFIG.whiteListConfig.noiseReduce
118
+ };
119
+ this._loadFromLocalStorage();
120
+ this._initialize();
121
+ }
122
+ return (0, _createClass2["default"])(AudioDeviceWhiteListManager, [{
123
+ key: "_initialize",
124
+ value: function _initialize() {
125
+ this._initializeDeviceConfigsFromList();
126
+ var currentMicrophoneId = this._delegate.getMicrophoneId();
127
+ var microphoneIdentifier = currentMicrophoneId ? this._getDeviceIdentifierFromList(currentMicrophoneId, 'microphone') : '';
128
+ var microphoneDeviceId = microphoneIdentifier || DEFAULT_DEVICE_ID;
129
+ if (currentMicrophoneId && !microphoneIdentifier) {
130
+ this.logger.warn('[AudioDeviceWhiteList] Current microphone has no vendorId/productId, using DEFAULT_DEVICE_ID');
131
+ }
132
+ var isMicrophoneInWhiteList = currentMicrophoneId ? this._isDeviceInWhiteList(microphoneDeviceId) : false;
133
+ this._currentDeviceId = currentMicrophoneId ? microphoneDeviceId : null;
134
+ this.logger.info("[AudioDeviceWhiteList] Initial state: microphone=".concat(microphoneDeviceId || 'none', ", isOnWhiteList=").concat(isMicrophoneInWhiteList));
135
+ if (isMicrophoneInWhiteList) {
136
+ this._applyWhiteListConfig();
137
+ this._whiteListDeviceUsed.add(microphoneDeviceId);
138
+ this._saveToLocalStorage();
139
+ }
140
+ }
141
+ }, {
142
+ key: "handleMicrophoneListUpdated",
143
+ value: function handleMicrophoneListUpdated(microphoneList) {
144
+ this.logger.info('[AudioDeviceWhiteList] Microphone list updated');
145
+ this._updateDeviceConfigs(microphoneList);
146
+ }
147
+ }, {
148
+ key: "handleMicrophoneChanged",
149
+ value: function handleMicrophoneChanged(microphoneId, productId, vendorId) {
150
+ this._handleDeviceChanged(productId, vendorId, 'microphone');
151
+ }
152
+ }, {
153
+ key: "_handleDeviceChanged",
154
+ value: function _handleDeviceChanged(productId, vendorId, deviceType) {
155
+ var deviceId = this._createDeviceIdentifier(productId, vendorId);
156
+ if (!deviceId) {
157
+ this.logger.warn("[AudioDeviceWhiteList] ".concat(deviceType, " has no vendorId/productId, using DEFAULT_DEVICE_ID"));
158
+ deviceId = DEFAULT_DEVICE_ID;
159
+ }
160
+ var isNewDeviceInWhiteList = this._isDeviceInWhiteList(deviceId);
161
+ var isFirstTimeUseWhiteList = isNewDeviceInWhiteList && !this._whiteListDeviceUsed.has(deviceId);
162
+ this.logger.info("[AudioDeviceWhiteList] Device changed: ".concat(deviceType, "=").concat(deviceId, ", isInWhiteList=").concat(isNewDeviceInWhiteList));
163
+ if (isFirstTimeUseWhiteList) {
164
+ this.logger.info('[AudioDeviceWhiteList] First time using white list device, applying default white list config');
165
+ this._applyWhiteListConfig();
166
+ this._deviceConfigs.set(deviceId, _objectSpread({}, this._whiteListConfig));
167
+ this._whiteListDeviceUsed.add(deviceId);
168
+ this._currentDeviceId = deviceId;
169
+ this._saveToLocalStorage();
170
+ return;
171
+ }
172
+ var logMessage = isNewDeviceInWhiteList ? '[AudioDeviceWhiteList] Using saved config for white list device' : '[AudioDeviceWhiteList] Switching to non-white list device, applying device config';
173
+ this.logger.info(logMessage);
174
+ this._applyDeviceConfig(deviceId);
175
+ this._currentDeviceId = deviceId;
176
+ }
177
+
178
+ /**
179
+ * Get device 3A configuration (use current settings if not exists)
180
+ */
181
+ }, {
182
+ key: "_getDeviceConfig",
183
+ value: function _getDeviceConfig(deviceId) {
184
+ if (!this._deviceConfigs.has(deviceId)) {
185
+ var _currentSetting$audio, _currentSetting$noise;
186
+ var currentSetting = this._delegate.getCurrentSetting();
187
+ var config = {
188
+ audioEchoCancellation: (_currentSetting$audio = currentSetting.audioEchoCancellation) !== null && _currentSetting$audio !== void 0 ? _currentSetting$audio : false,
189
+ audioAgc: DEFAULT_AUDIO_AGC,
190
+ noiseReduce: (_currentSetting$noise = currentSetting.noiseReduce) !== null && _currentSetting$noise !== void 0 ? _currentSetting$noise : DEFAULT_NOISE_REDUCE_LEVEL
191
+ };
192
+ this._deviceConfigs.set(deviceId, config);
193
+ this.logger.info("[AudioDeviceWhiteList] Created config for device: ".concat(deviceId), config);
194
+ }
195
+ return this._deviceConfigs.get(deviceId);
196
+ }
197
+
198
+ /**
199
+ * Update device 3A configuration (save for both white list and non-white list devices)
200
+ */
201
+ }, {
202
+ key: "updateDeviceConfig",
203
+ value: function updateDeviceConfig(config) {
204
+ var deviceId = this._currentDeviceId || DEFAULT_DEVICE_ID;
205
+ if (!this._currentDeviceId) {
206
+ this.logger.warn('[AudioDeviceWhiteList] No current device ID, using DEFAULT_DEVICE_ID');
207
+ }
208
+ var deviceConfig = this._getDeviceConfig(deviceId);
209
+ if (config.audioEchoCancellation !== undefined) {
210
+ deviceConfig.audioEchoCancellation = config.audioEchoCancellation;
211
+ }
212
+ if (config.noiseReduce !== undefined) {
213
+ deviceConfig.noiseReduce = config.noiseReduce;
214
+ }
215
+ this._saveToLocalStorage();
216
+ this.logger.info("[AudioDeviceWhiteList] Updated config for device: ".concat(deviceId), deviceConfig);
217
+ }
218
+ }, {
219
+ key: "_applyAudioConfig",
220
+ value: function _applyAudioConfig(config) {
221
+ this._delegate.enableAudioEchoCancellation(config.audioEchoCancellation);
222
+ this._delegate.toggleAgc(config.audioAgc);
223
+ this._delegate.setNoiseLevel(config.noiseReduce);
224
+
225
+ // Update UI settings
226
+ this._delegate.updateSettings({
227
+ audioEchoCancellation: config.audioEchoCancellation,
228
+ noiseReduce: config.noiseReduce
229
+ });
230
+ }
231
+ }, {
232
+ key: "_applyWhiteListConfig",
233
+ value: function _applyWhiteListConfig() {
234
+ this.logger.info('[AudioDeviceWhiteList] Applying default white list config');
235
+ this._applyAudioConfig(this._whiteListConfig);
236
+ }
237
+ }, {
238
+ key: "_applyDeviceConfig",
239
+ value: function _applyDeviceConfig(deviceId) {
240
+ var deviceConfig = this._getDeviceConfig(deviceId);
241
+ this._applyAudioConfig(deviceConfig);
242
+ this.logger.info("[AudioDeviceWhiteList] Applying saved config for device: ".concat(deviceId), deviceConfig);
243
+ }
244
+ }, {
245
+ key: "_createDeviceIdentifier",
246
+ value: function _createDeviceIdentifier(productId, vendorId) {
247
+ if (productId && vendorId) {
248
+ return "".concat(vendorId, ":").concat(productId);
249
+ }
250
+ return '';
251
+ }
252
+ }, {
253
+ key: "_getDeviceIdentifierFromList",
254
+ value: function _getDeviceIdentifierFromList(deviceId, deviceType) {
255
+ var deviceList = this._delegate.getMicrophoneList();
256
+ var device = deviceList.find(function (d) {
257
+ return d.deviceId === deviceId;
258
+ });
259
+ if (device) {
260
+ return this._createDeviceIdentifier(device.productId, device.vendorId);
261
+ }
262
+ return '';
263
+ }
264
+ }, {
265
+ key: "_isDeviceInWhiteList",
266
+ value: function _isDeviceInWhiteList(deviceId) {
267
+ return this._whiteListDeviceIds.includes(deviceId);
268
+ }
269
+ }, {
270
+ key: "_initializeDeviceConfigsFromList",
271
+ value: function _initializeDeviceConfigsFromList() {
272
+ var microphoneList = this._delegate.getMicrophoneList();
273
+ this._updateDeviceConfigs(microphoneList);
274
+ this.logger.info("[AudioDeviceWhiteList] Initialized ".concat(this._deviceConfigs.size, " device configs"));
275
+ }
276
+ }, {
277
+ key: "_updateDeviceConfigs",
278
+ value: function _updateDeviceConfigs(deviceList) {
279
+ var _this = this;
280
+ var newDeviceCount = 0;
281
+ deviceList.forEach(function (device) {
282
+ var deviceIdentifier = _this._createDeviceIdentifier(device.productId, device.vendorId);
283
+ if (!deviceIdentifier) {
284
+ _this.logger.warn("[AudioDeviceWhiteList] Device has no vendorId/productId, skipping update device configs id: ".concat(device.deviceId, " name: ").concat(device.deviceName));
285
+ return;
286
+ }
287
+ if (_this._deviceConfigs.has(deviceIdentifier)) {
288
+ _this.logger.warn("[AudioDeviceWhiteList] Device already has config, skipping update device configs id: ".concat(device.deviceId, " name: ").concat(device.deviceName));
289
+ return;
290
+ }
291
+ var config = _this._createConfigForDevice(deviceIdentifier);
292
+ _this._deviceConfigs.set(deviceIdentifier, config);
293
+ newDeviceCount++;
294
+ });
295
+ if (newDeviceCount > 0) {
296
+ this._saveToLocalStorage();
297
+ }
298
+ }
299
+ }, {
300
+ key: "_createConfigForDevice",
301
+ value: function _createConfigForDevice(deviceIdentifier) {
302
+ var _currentSetting$audio2, _currentSetting$noise2;
303
+ var isWhiteListDevice = this._isDeviceInWhiteList(deviceIdentifier);
304
+ if (isWhiteListDevice) {
305
+ return _objectSpread({}, this._whiteListConfig);
306
+ }
307
+ var currentSetting = this._delegate.getCurrentSetting();
308
+ return {
309
+ audioEchoCancellation: (_currentSetting$audio2 = currentSetting.audioEchoCancellation) !== null && _currentSetting$audio2 !== void 0 ? _currentSetting$audio2 : false,
310
+ audioAgc: DEFAULT_AUDIO_AGC,
311
+ noiseReduce: (_currentSetting$noise2 = currentSetting.noiseReduce) !== null && _currentSetting$noise2 !== void 0 ? _currentSetting$noise2 : DEFAULT_NOISE_REDUCE_LEVEL
312
+ };
313
+ }
314
+ }, {
315
+ key: "_loadFromLocalStorage",
316
+ value: function _loadFromLocalStorage() {
317
+ try {
318
+ var savedConfigs = localStorage.getItem(STORAGE_KEY_DEVICE_CONFIGS);
319
+ if (savedConfigs) {
320
+ var configsObject = JSON.parse(savedConfigs);
321
+ this._deviceConfigs = new Map(Object.entries(configsObject));
322
+ this.logger.info("[AudioDeviceWhiteList] Loaded ".concat(this._deviceConfigs.size, " device configs from localStorage"));
323
+ }
324
+ var savedInitialized = localStorage.getItem(STORAGE_KEY_WHITE_LIST_INITIALIZED);
325
+ if (savedInitialized) {
326
+ var initializedArray = JSON.parse(savedInitialized);
327
+ this._whiteListDeviceUsed = new Set(initializedArray);
328
+ this.logger.info("[AudioDeviceWhiteList] Loaded ".concat(this._whiteListDeviceUsed.size, " initialized white list devices from localStorage"));
329
+ }
330
+ } catch (error) {
331
+ this.logger.error('[AudioDeviceWhiteList] Failed to load from localStorage:', error);
332
+ }
333
+ }
334
+ }, {
335
+ key: "_saveToLocalStorage",
336
+ value: function _saveToLocalStorage() {
337
+ try {
338
+ var configsObject = Object.fromEntries(this._deviceConfigs.entries());
339
+ localStorage.setItem(STORAGE_KEY_DEVICE_CONFIGS, JSON.stringify(configsObject));
340
+ var initializedArray = Array.from(this._whiteListDeviceUsed);
341
+ localStorage.setItem(STORAGE_KEY_WHITE_LIST_INITIALIZED, JSON.stringify(initializedArray));
342
+ this.logger.info('[AudioDeviceWhiteList] Saved data to localStorage');
343
+ } catch (error) {
344
+ this.logger.error('[AudioDeviceWhiteList] Failed to save to localStorage:', error);
345
+ }
346
+ }
347
+ }, {
348
+ key: "release",
349
+ value: function release() {
350
+ this._saveToLocalStorage();
351
+ }
352
+ }]);
353
+ }();
@@ -0,0 +1,88 @@
1
+ .fcr-caption-and-transcribing-settings__basic-form {
2
+ margin-top: 10px;
3
+ margin-bottom: 10px;
4
+ border-radius: var(--fcr_cornerradius_s);
5
+ width: 100%;
6
+ padding: 10px;
7
+ background: var(--fcr_mobile_ui_scene_color_popup_block5);
8
+ }
9
+
10
+ .fcr-caption-and-transcribing-settings__basic-form:first-child {
11
+ margin-top: 0px;
12
+ }
13
+
14
+ .fcr-caption-and-transcribing-settings__basic-form .fcr-checkbox {
15
+ height: 32px;
16
+ }
17
+
18
+ .fcr-caption-and-transcribing-settings__basic-form.fcr-video-settings__max-person-form {
19
+ padding: 5px 10px;
20
+ }
21
+ .fcr-caption-and-transcribing-settings__basic-form
22
+ .fcr-caption-and-transcribing-settings__spotlight-label {
23
+ display: flex;
24
+ align-items: center;
25
+ justify-content: center;
26
+ gap: 5px;
27
+ }
28
+ .fcr-caption-and-transcribing-settings__section-group {
29
+ display: flex;
30
+ gap: 10px;
31
+ height: 32px;
32
+ }
33
+ .fcr-caption-and-transcribing-settings__section-title {
34
+ font-size: 13px;
35
+ font-weight: 700;
36
+ color: var(--fcr_ui_scene_icontext1);
37
+ margin-bottom: 10px;
38
+ }
39
+
40
+ .fcr-caption-and-transcribing-settings__section-group-language .fcr-radio-label {
41
+ line-height: 16px;
42
+ }
43
+
44
+ .fcr-caption-and-transcribing-settings__message-container {
45
+ display: flex;
46
+ align-items: start;
47
+ gap: 10px;
48
+ background: var(--fcr_ui_scene_black6);
49
+ /* height: 67px; */
50
+ padding-top: 15px;
51
+ padding-right: 20px;
52
+ padding-bottom: 15px;
53
+ padding-left: 20px;
54
+ border-radius: var(--fcr_cornerradius_xs);
55
+ margin-top: 13px;
56
+ }
57
+
58
+ .fcr-caption-and-transcribing-settings__message-content {
59
+ display: flex;
60
+ flex-direction: column;
61
+ gap: 5px;
62
+ }
63
+
64
+ .fcr-caption-and-transcribing-settings__message-container .fcr-avatar {
65
+ border-radius: var(--fcr_cornerradius_xs);
66
+ }
67
+
68
+ .fcr-caption-and-transcribing-settings__message-content-original-text {
69
+ font-size: 14px;
70
+ font-weight: 400;
71
+ color: var(--fcr_ui_scene_white10);
72
+ }
73
+
74
+ .fcr-caption-and-transcribing-settings__message-content-translated-text {
75
+ font-size: 14px;
76
+ font-weight: 400;
77
+ color: var(--fcr_ui_scene_ramp_2yellow6, rgba(255, 199, 0, 1));
78
+ }
79
+
80
+ .fcr-caption-and-transcribing-settings__translation-setting-description {
81
+ font-weight: 400;
82
+ color: var(--fcr_ui_scene_icontext2, rgba(120, 118, 118, 0.8));
83
+ font-size: 12px;
84
+ line-height: 140%;
85
+ letter-spacing: 0px;
86
+ vertical-align: middle;
87
+ margin-bottom: 4px;
88
+ }
@@ -0,0 +1,3 @@
1
+ import './index.css';
2
+ export declare const CaptionAndTranscribing: () => import("react/jsx-runtime").JSX.Element;
3
+ export default CaptionAndTranscribing;
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.CaptionAndTranscribing = void 0;
8
+ var _react = require("react");
9
+ var _i18n = require("agora-ui-foundation/lib/i18n");
10
+ var _mobxReact = require("mobx-react");
11
+ var _store = require("../store.base");
12
+ var _checkbox = require("agora-ui-foundation/lib/components/checkbox");
13
+ var _useNamespace = require("../../../utilities/useNamespace");
14
+ var _steps = require("../../components/caption-menu/steps");
15
+ var _avatar = require("agora-ui-foundation/lib/components/avatar");
16
+ var _select = require("agora-ui-foundation/lib/components/select");
17
+ var _translationSettingOptions = require("../../components/caption-menu/translation-setting-options");
18
+ var _generalSettings = require("../general-settings/general-settings");
19
+ require("./index.css");
20
+ var _type = require("../../../shared-data/stt-setting.ts/type");
21
+ var _jsxRuntime = require("react/jsx-runtime");
22
+ var CaptionAndTranscribing = exports.CaptionAndTranscribing = (0, _mobxReact.observer)(function () {
23
+ var ns = (0, _useNamespace.useNamespace)('caption-and-transcribing-settings');
24
+ var t = (0, _i18n.useI18n)();
25
+ var _useContext = (0, _react.useContext)(_store.StoreContext),
26
+ languageOptions = _useContext.languageOptions,
27
+ captionFontSize = _useContext.captionFontSize,
28
+ setCaptionFontSize = _useContext.setCaptionFontSize,
29
+ captionStyle = _useContext.captionStyle,
30
+ isTwoLineCaptionEnabled = _useContext.isTwoLineCaptionEnabled,
31
+ toggleTwoLineCaptionEnabled = _useContext.toggleTwoLineCaptionEnabled,
32
+ isTwoLineTranscribingEnabled = _useContext.isTwoLineTranscribingEnabled,
33
+ toggleTwoLineTranscribingEnabled = _useContext.toggleTwoLineTranscribingEnabled,
34
+ translateLanguage = _useContext.translateLanguage,
35
+ subscribeTranslateLanguage = _useContext.subscribeTranslateLanguage;
36
+ var translationLanguageList = (0, _translationSettingOptions.useTranslateLanguageOptions)(languageOptions);
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
38
+ className: ns.b(),
39
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_generalSettings.Section, {
40
+ title: t('fmt_ai_subtitles_setting_label_fontsize'),
41
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_steps.FcrSteps, {
42
+ current: captionFontSize,
43
+ stepsCount: 3,
44
+ onChange: setCaptionFontSize
45
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
46
+ className: ns.e('message-container'),
47
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.FcrAvatar, {
48
+ size: 30,
49
+ nickName: 'test',
50
+ textSize: 14
51
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
52
+ className: ns.e('message-content'),
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
54
+ className: ns.e('message-content-original-text'),
55
+ style: captionStyle.textStyle,
56
+ children: t('fmt_ai_subtitles_setting_label_sample')
57
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
58
+ className: ns.e('message-content-translated-text'),
59
+ style: captionStyle.textStyle,
60
+ children: t('fmt_ai_subtitles_setting_label_sample')
61
+ })]
62
+ })]
63
+ })]
64
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_generalSettings.Section, {
65
+ title: t('fmt_ai_subtitles_setting_label_translation_setting'),
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
67
+ className: ns.e('translation-setting-description'),
68
+ children: t('fmt_ai_subtitles_setting_label_effect_range')
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_select.FcrSelect, {
70
+ options: translationLanguageList,
71
+ value: translateLanguage !== null && translateLanguage !== void 0 ? translateLanguage : _type.NONE,
72
+ onChange: function onChange(v) {
73
+ var language = v === _type.NONE ? null : v;
74
+ subscribeTranslateLanguage(language);
75
+ },
76
+ blurred: false,
77
+ placeholder: t('fmt_premeeting_setting_label_English'),
78
+ size: "small",
79
+ styleType: "white"
80
+ })]
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_generalSettings.Section, {
82
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
83
+ size: "small",
84
+ label: t('fmt_ai_subtitles_setting_options_subltitle_bilingual'),
85
+ checked: isTwoLineCaptionEnabled,
86
+ onChange: toggleTwoLineCaptionEnabled
87
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_checkbox.FcrCheckbox, {
88
+ size: "small",
89
+ label: t('fmt_ai_subtitles_setting_options_translation_bilingual'),
90
+ checked: isTwoLineTranscribingEnabled,
91
+ onChange: toggleTwoLineTranscribingEnabled
92
+ })]
93
+ })]
94
+ });
95
+ });
96
+ var _default = exports["default"] = CaptionAndTranscribing;
@@ -1,3 +1,7 @@
1
1
  import './index.css';
2
+ export declare const Section: ({ children, title }: {
3
+ children: React.ReactNode;
4
+ title?: string;
5
+ }) => import("react/jsx-runtime").JSX.Element;
2
6
  export declare const GeneralSettings: () => import("react/jsx-runtime").JSX.Element;
3
7
  export default GeneralSettings;