fcr-ui-scene 3.8.1-alpha → 3.8.1

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 (226) hide show
  1. package/lib/base.js +2 -2
  2. package/lib/creator/provider-initializer.browser.js +8 -7
  3. package/lib/creator/provider-initializer.electron.js +8 -8
  4. package/lib/electron/asar-validation.d.ts +12 -0
  5. package/lib/electron/asar-validation.js +115 -0
  6. package/lib/electron/bootstrap-sdk.js +20 -12
  7. package/lib/electron/default-options.js +2 -1
  8. package/lib/electron/env.d.ts +1 -0
  9. package/lib/electron/env.js +6 -4
  10. package/lib/electron/exit-codes.js +11 -11
  11. package/lib/electron/hang-detection/manager.js +4 -4
  12. package/lib/electron/ipc-protocol.js +12 -12
  13. package/lib/electron/process-manager/event-manager.js +30 -30
  14. package/lib/electron/process-manager/index.js +88 -88
  15. package/lib/electron/process-manager/state-manager.js +57 -57
  16. package/lib/electron/process-manager/types.js +16 -16
  17. package/lib/electron/sdk-helper.js +3 -3
  18. package/lib/electron/window-proxy/browser-window-proxy.js +13 -13
  19. package/lib/electron/window-proxy/main-process-handler.js +14 -14
  20. package/lib/fragments/annotation/style.css +9 -9
  21. package/lib/fragments/annotation/toolbar/components/item/style.css +45 -45
  22. package/lib/fragments/annotation/toolbar/components/panel/style.css +24 -24
  23. package/lib/fragments/annotation/toolbar/components/tips/style.css +19 -19
  24. package/lib/fragments/annotation/toolbar/style.css +55 -55
  25. package/lib/fragments/whiteboard/cursor.css +77 -77
  26. package/lib/fragments/whiteboard/style.css +4 -4
  27. package/lib/global.css +62 -62
  28. package/lib/global.d.ts +27 -27
  29. package/lib/index.js +9 -1
  30. package/lib/modules/action-bar/components/chat/index.css +88 -88
  31. package/lib/modules/action-bar/components/more/index.css +114 -114
  32. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -58
  33. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -56
  34. package/lib/modules/action-bar/components/notification-bar/index.css +74 -74
  35. package/lib/modules/action-bar/components/participants/index.css +21 -21
  36. package/lib/modules/action-bar/components/record/index.css +39 -39
  37. package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -86
  38. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -22
  39. package/lib/modules/action-bar/index.css +358 -358
  40. package/lib/modules/action-bar/main-scene/store.base.d.ts +3 -2
  41. package/lib/modules/action-bar/main-scene/store.base.js +29 -57
  42. package/lib/modules/action-bar/main-scene/view.js +3 -3
  43. package/lib/modules/audio-stream/index.js +3 -3
  44. package/lib/modules/caption/draggable-container/index.css +10 -10
  45. package/lib/modules/caption/view.css +158 -158
  46. package/lib/modules/chat/components/chat-bar/index.css +89 -89
  47. package/lib/modules/chat/components/chat-select/index.css +185 -185
  48. package/lib/modules/chat/index.css +124 -124
  49. package/lib/modules/components/apps/app-item/index.css +49 -49
  50. package/lib/modules/components/apps/index.css +9 -9
  51. package/lib/modules/components/caption-menu/index.css +58 -58
  52. package/lib/modules/components/caption-menu/steps/index.css +73 -73
  53. package/lib/modules/components/control-bar/components/loading/index.css +76 -76
  54. package/lib/modules/components/control-bar/components/progress/style.css +51 -51
  55. package/lib/modules/components/control-bar/components/switch-theme/index.css +101 -101
  56. package/lib/modules/components/control-bar/index.css +99 -99
  57. package/lib/modules/components/device-control/index.css +177 -177
  58. package/lib/modules/components/leave-meeting/components/index.css +151 -151
  59. package/lib/modules/components/leave-meeting/style.css +9 -9
  60. package/lib/modules/components/member-window/components/member-actions/store.js +22 -22
  61. package/lib/modules/components/member-window/index.css +502 -502
  62. package/lib/modules/components/security-menu/index.css +42 -42
  63. package/lib/modules/components/tab-frame/index.css +40 -40
  64. package/lib/modules/components/toolbar/components/item/style.css +94 -94
  65. package/lib/modules/components/toolbar/components/panel/style.css +86 -86
  66. package/lib/modules/components/toolbar/style.css +85 -85
  67. package/lib/modules/connection-gateway/components/computer/index.css +12 -12
  68. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.css +36 -36
  69. package/lib/modules/connection-gateway/components/phone/components/calling/index.css +72 -72
  70. package/lib/modules/connection-gateway/components/phone/components/remeber/index.css +10 -10
  71. package/lib/modules/connection-gateway/components/phone/components/useing/index.css +46 -46
  72. package/lib/modules/connection-gateway/components/phone/index.css +49 -49
  73. package/lib/modules/connection-gateway/index.css +6 -6
  74. package/lib/modules/control-bar/components/meeting-details/index.css +133 -133
  75. package/lib/modules/control-bar/components/more-actions/index.css +103 -103
  76. package/lib/modules/control-bar/components/share-audio/index.css +90 -90
  77. package/lib/modules/control-bar/components/share-state-nav/index.css +79 -79
  78. package/lib/modules/control-bar/index.css +340 -340
  79. package/lib/modules/control-bar/index.js +4 -4
  80. package/lib/modules/device-pretest/index.css +123 -123
  81. package/lib/modules/dialog/components/confirm/index.css +24 -24
  82. package/lib/modules/dialog/components/dialog-container/index.css +112 -112
  83. package/lib/modules/dialog/dialogs/confirm/index.css +24 -24
  84. package/lib/modules/dialog/dialogs/connection-gateway/tabs.d.ts +1 -0
  85. package/lib/modules/dialog/dialogs/connection-gateway/tabs.js +27 -14
  86. package/lib/modules/dialog/dialogs/device-setting/index.css +26 -26
  87. package/lib/modules/dialog/dialogs/interpreter/index.css +30 -30
  88. package/lib/modules/dialog/dialogs/mute-all/index.css +20 -20
  89. package/lib/modules/dialog/dialogs/system-preference/index.css +52 -52
  90. package/lib/modules/dialog/dialogs/widget/index.js +4 -4
  91. package/lib/modules/dialog/index.css +56 -56
  92. package/lib/modules/event-toast/index.css +25 -25
  93. package/lib/modules/interpreter/action/add-btn/index.css +4 -4
  94. package/lib/modules/interpreter/action/delete-btn/index.css +14 -14
  95. package/lib/modules/interpreter/action/switch-btn/index.css +3 -3
  96. package/lib/modules/interpreter/dialog-content/index.css +33 -33
  97. package/lib/modules/interpreter/footer/index.css +11 -11
  98. package/lib/modules/interpreter/index.css +4 -4
  99. package/lib/modules/interpreter/interpreter-list/index.css +8 -8
  100. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +46 -46
  101. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +46 -46
  102. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.css +32 -32
  103. package/lib/modules/interpreter/loading-wrapper/index.css +53 -53
  104. package/lib/modules/invite/components/pstn-invite.js +1 -1
  105. package/lib/modules/invite/components/voip-invite.css +26 -26
  106. package/lib/modules/invite/index.css +331 -331
  107. package/lib/modules/layout/components/CommonVideoRenderer.js +4 -4
  108. package/lib/modules/layout/components/index.css +653 -653
  109. package/lib/modules/layout/index.css +59 -59
  110. package/lib/modules/layout/store.base.js +5 -5
  111. package/lib/modules/layout/type.js +5 -5
  112. package/lib/modules/notification/index.css +77 -77
  113. package/lib/modules/notification/interpreter-status/index.css +76 -76
  114. package/lib/modules/participant/components/confirm-input/index.css +4 -4
  115. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +83 -83
  116. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +87 -87
  117. package/lib/modules/participant/index.css +102 -102
  118. package/lib/modules/participant/store.base.js +175 -175
  119. package/lib/modules/pc-audio-connect/index.css +12 -12
  120. package/lib/modules/pc-audio-connect/main-scene/index.d.ts +2 -1
  121. package/lib/modules/pc-audio-connect/main-scene/index.js +5 -4
  122. package/lib/modules/pc-audio-connect/main-scene/store.d.ts +3 -0
  123. package/lib/modules/pc-audio-connect/main-scene/store.js +44 -7
  124. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -36
  125. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -72
  126. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -10
  127. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -46
  128. package/lib/modules/phone-audio-connect/index.css +56 -56
  129. package/lib/modules/secondary-window/store.js +7 -7
  130. package/lib/modules/setting/audio-settings/index.css +195 -195
  131. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +14 -14
  132. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +6 -6
  133. package/lib/modules/setting/caption_and_transcribing/index.css +88 -88
  134. package/lib/modules/setting/general-settings/index.css +41 -41
  135. package/lib/modules/setting/index.css +112 -112
  136. package/lib/modules/setting/minutes-settings/index.css +65 -65
  137. package/lib/modules/setting/state/index.css +207 -207
  138. package/lib/modules/setting/storage-settings/index.css +91 -91
  139. package/lib/modules/setting/translate-settings/index.css +47 -47
  140. package/lib/modules/setting/video-settings/index.css +357 -357
  141. package/lib/modules/share-screen/components/control-bar/index.css +75 -75
  142. package/lib/modules/share-screen/components/selection/index.css +73 -73
  143. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -76
  144. package/lib/modules/share-screen/index.js +10 -10
  145. package/lib/modules/share-screen/store.base.js +2 -2
  146. package/lib/modules/state-bar/assets/fcr_grid_big.svg +3 -3
  147. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +3 -3
  148. package/lib/modules/state-bar/index.css +706 -706
  149. package/lib/modules/state-bar/main-scene/store.base.js +2 -2
  150. package/lib/modules/state-bar/meeting-detail.css +137 -137
  151. package/lib/modules/state-bar/meeting-network-state.css +150 -150
  152. package/lib/modules/state-bar/waiting-scene/store.base.js +2 -2
  153. package/lib/modules/subtitles-history/components/settings/index.css +5 -5
  154. package/lib/modules/subtitles-history/index.css +129 -129
  155. package/lib/modules/video-window/components/members/index.css +51 -51
  156. package/lib/modules/video-window/components/speaking/index.css +86 -86
  157. package/lib/modules/video-window/components/topControl/index.css +35 -35
  158. package/lib/modules/video-window/index.css +21 -21
  159. package/lib/modules/video-window/popover-watcher.js +3 -3
  160. package/lib/modules/video-window/store.js +10 -10
  161. package/lib/modules/waiting-room-layout/index.css +96 -96
  162. package/lib/modules/whiteboard/components/control-bar/index.css +52 -52
  163. package/lib/modules/whiteboard/components/loading/index.css +76 -76
  164. package/lib/modules/whiteboard/components/multi-window/index.css +63 -63
  165. package/lib/modules/whiteboard/components/pagination/index.css +228 -228
  166. package/lib/modules/whiteboard/components/progress/style.css +51 -51
  167. package/lib/modules/whiteboard/components/switch-theme/index.css +99 -99
  168. package/lib/modules/whiteboard/components/toolbar/style.css +591 -591
  169. package/lib/modules/whiteboard/style.css +140 -140
  170. package/lib/modules/widget/index.css +9 -9
  171. package/lib/modules/widget/index.d.ts +1 -0
  172. package/lib/modules/widget/index.js +16 -1
  173. package/lib/modules/widget/store.base.d.ts +1 -0
  174. package/lib/modules/widget/store.base.js +12 -0
  175. package/lib/modules/widget/store.electron.js +5 -0
  176. package/lib/modules/widget/web-widget.d.ts +6 -1
  177. package/lib/modules/widget/web-widget.js +66 -22
  178. package/lib/object-manager.js +8 -8
  179. package/lib/plugins/module-dev-plugin.js +11 -11
  180. package/lib/providers/ability-provider.js +17 -17
  181. package/lib/providers/app-list-provider.d.ts +1 -1
  182. package/lib/providers/app-list-provider.js +9 -7
  183. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  184. package/lib/providers/board-share/bar-control/browser.d.ts +1 -1
  185. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  186. package/lib/providers/board-share/struct.js +6 -6
  187. package/lib/providers/device-stream-provider.d.ts +1 -1
  188. package/lib/providers/dialog/provider.base.js +2 -2
  189. package/lib/providers/dialog/type.js +3 -3
  190. package/lib/providers/multi-display-provider.js +4 -4
  191. package/lib/providers/privilege-provider.js +7 -7
  192. package/lib/providers/screen-share/provider.base.js +23 -23
  193. package/lib/providers/screen-share/stream-state-sync.js +18 -18
  194. package/lib/providers/screen-share/struct.js +24 -24
  195. package/lib/providers/widget-provider.d.ts +13 -2
  196. package/lib/providers/widget-provider.js +60 -9
  197. package/lib/providers/window/main-window.js +2 -2
  198. package/lib/providers/window/provider.js +5 -5
  199. package/lib/providers/window/renderer-window.js +2 -2
  200. package/lib/scenes/main-scene.js +1 -0
  201. package/lib/schema.js +26 -26
  202. package/lib/shared-data/app-list-data.d.ts +0 -3
  203. package/lib/shared-data/app-list-data.js +3 -30
  204. package/lib/shared-data/meeting-time.js +8 -8
  205. package/lib/shared-data/setting.js +3 -3
  206. package/lib/shared-data/video-window.d.ts +1 -1
  207. package/lib/shared-data/video-window.js +1 -1
  208. package/lib/shared-data/widget-data.d.ts +0 -1
  209. package/lib/type.d.ts +1 -0
  210. package/lib/type.js +23 -21
  211. package/lib/ui-scene-switch.js +2 -2
  212. package/lib/utilities/constant.js +6 -6
  213. package/lib/utilities/renderer.js +8 -8
  214. package/lib/utilities/shared-storage.js +2 -2
  215. package/lib/utilities/tools.js +14 -14
  216. package/package.json +82 -77
  217. package/public/assets/fcr_chat_reddot.svg +5 -5
  218. package/public/assets/fcr_grid_big.svg +3 -3
  219. package/public/assets/fcr_leave2.svg +58 -58
  220. package/public/assets/fcr_listontop_big.svg +3 -3
  221. package/public/assets/step-gradient.svg +10 -10
  222. package/public/fragment.html +10 -10
  223. package/public/index.html +107 -183
  224. package/public/index.vite.html +109 -0
  225. package/public/js/init.js +75 -0
  226. package/public/{meeting-manager.js → js/meeting-manager.js} +405 -405
@@ -1,140 +1,140 @@
1
- @import '../../fragments/whiteboard/cursor.css';
2
-
3
- .netless-whiteboard-wrapper {
4
- height: 100%;
5
- width: 100%;
6
- pointer-events: none;
7
- }
8
- .netless-whiteboard-wrapper > * {
9
- pointer-events: all;
10
- }
11
-
12
- .fcr-board-pagination {
13
- position: absolute;
14
- left: 10px;
15
- bottom: 10px;
16
- z-index: 10;
17
- }
18
-
19
- /* fold button */
20
-
21
- /* board window */
22
- .board-widget-app .telebox-maximized .netless-app-slide-btn-sidebar,
23
- .board-widget-app .telebox-maximized .netless-app-docs-viewer-btn-sidebar,
24
- .board-widget-app .telebox-maximized .vjs-p .player-controller-actions {
25
- position: relative;
26
- left: 190px;
27
- }
28
-
29
- .netless-whiteboard-wrapper .telebox-box-main {
30
- /* @apply fcr-border-1; */
31
- border: 1px solid var(--fcr_ui_scene_black1);
32
- }
33
- .netless-whiteboard-wrapper .telebox-titlebar {
34
- /* @apply fcr-bg-2 fcr-border-1; */
35
- flex-direction: row-reverse;
36
- border: 1px solid var(--fcr_ui_scene_black1);
37
- background: var(--fcr_ui_scene_black1);
38
- }
39
- .netless-whiteboard-wrapper .telebox-title {
40
- /* @apply fcr-text-1; */
41
- color: var(--fcr_ui_scene_black1);
42
- background: var(--fcr_ui_scene_black1);
43
- }
44
-
45
- .netless-whiteboard-wrapper .telebox-content-wrap {
46
- /* @apply fcr-bg-7; */
47
- background: var(--fcr_ui_scene_black1);
48
- }
49
- .netless-whiteboard-wrapper .netless-app-slide-preview,
50
- .netless-whiteboard-wrapper .netless-app-docs-viewer-preview {
51
- /* @apply fcr-bg-3; */
52
- background: var(--fcr_ui_scene_black1);
53
- }
54
- .netless-whiteboard-wrapper .netless-app-slide-preview-page-name {
55
- /* @apply fcr-text-1; */
56
- color: var(--fcr_ui_scene_black1);
57
- }
58
- .netless-whiteboard-wrapper .netless-app-slide-footer,
59
- .netless-whiteboard-wrapper .app-talkative-footer,
60
- .netless-whiteboard-wrapper .netless-app-docs-viewer-footer {
61
- /* @apply fcr-bg-2 fcr-border-1 fcr-text-1; */
62
- background: var(--fcr_ui_scene_black1);
63
- border: 1px solid var(--fcr_ui_scene_black1);
64
- color: var(--fcr_ui_scene_black1);
65
- }
66
-
67
- .netless-whiteboard-wrapper .netless-app-slide-footer-btn:hover,
68
- .netless-whiteboard-wrapper .netless-app-docs-viewer-footer-btn:hover {
69
- /* @apply fcr-bg-7; */
70
- background: var(--fcr_ui_scene_black1);
71
- }
72
- .netless-whiteboard-wrapper .netless-app-slide-footer-btn:focus,
73
- .netless-whiteboard-wrapper .netless-app-docs-viewer-footer-btn:focus {
74
- outline: none;
75
- }
76
- .netless-whiteboard-wrapper .netless-app-slide-page-number-input:hover,
77
- .netless-whiteboard-wrapper .netless-app-slide-page-number-input:focus,
78
- .netless-whiteboard-wrapper .netless-app-slide-page-number-input:active {
79
- background: var(--fcr_ui_scene_black1);
80
- }
81
-
82
- .netless-whiteboard-wrapper .telebox-titlebar {
83
- border-bottom: none;
84
- }
85
- .netless-whiteboard-wrapper
86
- .telebox-titlebar.telebox-max-titlebar-maximized
87
- .telebox-titlebar-btns {
88
- margin-left: 0;
89
- }
90
- .netless-whiteboard-wrapper .telebox-titlebar-btn:focus,
91
- .netless-whiteboard-wrapper .telebox-titles-tab:focus {
92
- outline: none;
93
- }
94
- .netless-whiteboard-wrapper .telebox-titles-tab-focus {
95
- /* @apply fcr-text-brand-6; */
96
- color: var(--fcr_ui_scene_brand6);
97
- background: #232529;
98
- }
99
- .netless-whiteboard-wrapper .telebox-titlebar.telebox-max-titlebar-maximized {
100
- justify-content: flex-end;
101
- }
102
- .netless-whiteboard-wrapper .telebox-titles-tab,
103
- .netless-whiteboard-wrapper .telebox-titles-bab.telebox-titles-tab-focus,
104
- .netless-whiteboard-wrapper .netless-whiteboard-wrapper .telebox-titles-tab {
105
- border-left: 1px solid #ccc;
106
- border-right: 1px solid #ccc;
107
- }
108
- .netless-whiteboard-wrapper .telebox-titles-tab:not(:last-child) {
109
- border-right: none;
110
- }
111
-
112
- .fcr-progress-saveImage {
113
- /* @apply fcr-bg-block-4 !important; */
114
- background: var(--fcr_ui_scene_black1);
115
-
116
- text-align: left;
117
- }
118
-
119
- .fcr-progress-saveImage .fcr-progress {
120
- background: rgba(47, 47, 47, 0.98);
121
- }
122
-
123
- .fcr-progress-saveImage .fcr-progress .fcr-progress-inner {
124
- height: 100%;
125
- }
126
-
127
- .fcr-progress-saveImage .dialog-progress-tip {
128
- /* @apply fcr-text-1 !important; */
129
- color: var(--fcr_ui_scene_black1);
130
- }
131
- .fcr-progress-saveImage .dialog-progress-tip ~ div {
132
- margin-top: 4px;
133
- }
134
- /* .fcr-widget-dialog-content {
135
- display: flex;
136
- align-items: center;
137
- justify-content: center;
138
- width: 100%;
139
- height: 100%;
140
- } */
1
+ @import '../../fragments/whiteboard/cursor.css';
2
+
3
+ .netless-whiteboard-wrapper {
4
+ height: 100%;
5
+ width: 100%;
6
+ pointer-events: none;
7
+ }
8
+ .netless-whiteboard-wrapper > * {
9
+ pointer-events: all;
10
+ }
11
+
12
+ .fcr-board-pagination {
13
+ position: absolute;
14
+ left: 10px;
15
+ bottom: 10px;
16
+ z-index: 10;
17
+ }
18
+
19
+ /* fold button */
20
+
21
+ /* board window */
22
+ .board-widget-app .telebox-maximized .netless-app-slide-btn-sidebar,
23
+ .board-widget-app .telebox-maximized .netless-app-docs-viewer-btn-sidebar,
24
+ .board-widget-app .telebox-maximized .vjs-p .player-controller-actions {
25
+ position: relative;
26
+ left: 190px;
27
+ }
28
+
29
+ .netless-whiteboard-wrapper .telebox-box-main {
30
+ /* @apply fcr-border-1; */
31
+ border: 1px solid var(--fcr_ui_scene_black1);
32
+ }
33
+ .netless-whiteboard-wrapper .telebox-titlebar {
34
+ /* @apply fcr-bg-2 fcr-border-1; */
35
+ flex-direction: row-reverse;
36
+ border: 1px solid var(--fcr_ui_scene_black1);
37
+ background: var(--fcr_ui_scene_black1);
38
+ }
39
+ .netless-whiteboard-wrapper .telebox-title {
40
+ /* @apply fcr-text-1; */
41
+ color: var(--fcr_ui_scene_black1);
42
+ background: var(--fcr_ui_scene_black1);
43
+ }
44
+
45
+ .netless-whiteboard-wrapper .telebox-content-wrap {
46
+ /* @apply fcr-bg-7; */
47
+ background: var(--fcr_ui_scene_black1);
48
+ }
49
+ .netless-whiteboard-wrapper .netless-app-slide-preview,
50
+ .netless-whiteboard-wrapper .netless-app-docs-viewer-preview {
51
+ /* @apply fcr-bg-3; */
52
+ background: var(--fcr_ui_scene_black1);
53
+ }
54
+ .netless-whiteboard-wrapper .netless-app-slide-preview-page-name {
55
+ /* @apply fcr-text-1; */
56
+ color: var(--fcr_ui_scene_black1);
57
+ }
58
+ .netless-whiteboard-wrapper .netless-app-slide-footer,
59
+ .netless-whiteboard-wrapper .app-talkative-footer,
60
+ .netless-whiteboard-wrapper .netless-app-docs-viewer-footer {
61
+ /* @apply fcr-bg-2 fcr-border-1 fcr-text-1; */
62
+ background: var(--fcr_ui_scene_black1);
63
+ border: 1px solid var(--fcr_ui_scene_black1);
64
+ color: var(--fcr_ui_scene_black1);
65
+ }
66
+
67
+ .netless-whiteboard-wrapper .netless-app-slide-footer-btn:hover,
68
+ .netless-whiteboard-wrapper .netless-app-docs-viewer-footer-btn:hover {
69
+ /* @apply fcr-bg-7; */
70
+ background: var(--fcr_ui_scene_black1);
71
+ }
72
+ .netless-whiteboard-wrapper .netless-app-slide-footer-btn:focus,
73
+ .netless-whiteboard-wrapper .netless-app-docs-viewer-footer-btn:focus {
74
+ outline: none;
75
+ }
76
+ .netless-whiteboard-wrapper .netless-app-slide-page-number-input:hover,
77
+ .netless-whiteboard-wrapper .netless-app-slide-page-number-input:focus,
78
+ .netless-whiteboard-wrapper .netless-app-slide-page-number-input:active {
79
+ background: var(--fcr_ui_scene_black1);
80
+ }
81
+
82
+ .netless-whiteboard-wrapper .telebox-titlebar {
83
+ border-bottom: none;
84
+ }
85
+ .netless-whiteboard-wrapper
86
+ .telebox-titlebar.telebox-max-titlebar-maximized
87
+ .telebox-titlebar-btns {
88
+ margin-left: 0;
89
+ }
90
+ .netless-whiteboard-wrapper .telebox-titlebar-btn:focus,
91
+ .netless-whiteboard-wrapper .telebox-titles-tab:focus {
92
+ outline: none;
93
+ }
94
+ .netless-whiteboard-wrapper .telebox-titles-tab-focus {
95
+ /* @apply fcr-text-brand-6; */
96
+ color: var(--fcr_ui_scene_brand6);
97
+ background: #232529;
98
+ }
99
+ .netless-whiteboard-wrapper .telebox-titlebar.telebox-max-titlebar-maximized {
100
+ justify-content: flex-end;
101
+ }
102
+ .netless-whiteboard-wrapper .telebox-titles-tab,
103
+ .netless-whiteboard-wrapper .telebox-titles-bab.telebox-titles-tab-focus,
104
+ .netless-whiteboard-wrapper .netless-whiteboard-wrapper .telebox-titles-tab {
105
+ border-left: 1px solid #ccc;
106
+ border-right: 1px solid #ccc;
107
+ }
108
+ .netless-whiteboard-wrapper .telebox-titles-tab:not(:last-child) {
109
+ border-right: none;
110
+ }
111
+
112
+ .fcr-progress-saveImage {
113
+ /* @apply fcr-bg-block-4 !important; */
114
+ background: var(--fcr_ui_scene_black1);
115
+
116
+ text-align: left;
117
+ }
118
+
119
+ .fcr-progress-saveImage .fcr-progress {
120
+ background: rgba(47, 47, 47, 0.98);
121
+ }
122
+
123
+ .fcr-progress-saveImage .fcr-progress .fcr-progress-inner {
124
+ height: 100%;
125
+ }
126
+
127
+ .fcr-progress-saveImage .dialog-progress-tip {
128
+ /* @apply fcr-text-1 !important; */
129
+ color: var(--fcr_ui_scene_black1);
130
+ }
131
+ .fcr-progress-saveImage .dialog-progress-tip ~ div {
132
+ margin-top: 4px;
133
+ }
134
+ /* .fcr-widget-dialog-content {
135
+ display: flex;
136
+ align-items: center;
137
+ justify-content: center;
138
+ width: 100%;
139
+ height: 100%;
140
+ } */
@@ -1,9 +1,9 @@
1
- .fcr-widget-iframe {
2
- border: none;
3
- margin: 0;
4
- padding: 0;
5
- width: 100%;
6
- height: 100%;
7
- max-width: 100%;
8
- max-height: 100%;
9
- }
1
+ .fcr-widget-iframe {
2
+ border: none;
3
+ margin: 0;
4
+ padding: 0;
5
+ width: 100%;
6
+ height: 100%;
7
+ max-width: 100%;
8
+ max-height: 100%;
9
+ }
@@ -7,4 +7,5 @@ export declare class WebWidgetUIModule extends UIModule {
7
7
  onNodeWillActive(): void;
8
8
  nodeWillInactive(): void;
9
9
  getComponent(params: FcrUIWebWidgetConfig): import("react/jsx-runtime").JSX.Element;
10
+ getContactsComponent(): import("react/jsx-runtime").JSX.Element | null;
10
11
  }
@@ -112,10 +112,25 @@ var WebWidgetUIModule = exports.WebWidgetUIModule = /*#__PURE__*/function (_UIMo
112
112
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view.WebWidgetView, {})
113
113
  });
114
114
  }
115
+ }, {
116
+ key: "getContactsComponent",
117
+ value: function getContactsComponent() {
118
+ var widgetConfigByContacts = this.store.widgetConfigByContacts;
119
+ if (!widgetConfigByContacts) {
120
+ return null;
121
+ }
122
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.StoreContext.Provider, {
123
+ value: {
124
+ widgetConfig: widgetConfigByContacts,
125
+ store: this.store
126
+ },
127
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view.WebWidgetView, {})
128
+ });
129
+ }
115
130
  }]);
116
131
  }(_base.UIModule);
117
132
  _WebWidgetUIModule = WebWidgetUIModule;
118
- var _applyDecs$e = _applyDecs(_WebWidgetUIModule, [[_decorator.bound, 2, "getComponent"]], [], 0, void 0, _base.UIModule).e;
133
+ var _applyDecs$e = _applyDecs(_WebWidgetUIModule, [[_decorator.bound, 2, "getComponent"], [_decorator.bound, 2, "getContactsComponent"]], [], 0, void 0, _base.UIModule).e;
119
134
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
120
135
  _initProto = _applyDecs$e2[0];
121
136
  _applyDecs$e;
@@ -7,6 +7,7 @@ export declare abstract class WebWidgetStoreBase implements FcrUIManagedObject {
7
7
  constructor({ objectManager }: WebWidgetStoreArgs);
8
8
  abstract getWidgetDialogWindow(dialogId: string): Window;
9
9
  get openedWidgets(): Map<string, import("./type").FcrUIWebWidget>;
10
+ get widgetConfigByContacts(): FcrUIWebWidgetConfig | undefined;
10
11
  release(): void;
11
12
  }
12
13
  export declare const StoreContext: import("react").Context<{
@@ -6,9 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.WebWidgetStoreBase = exports.StoreContext = void 0;
9
+ require("core-js/modules/es.array.find.js");
10
+ require("core-js/modules/es.object.to-string.js");
11
+ require("core-js/modules/esnext.iterator.constructor.js");
12
+ require("core-js/modules/esnext.iterator.find.js");
9
13
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
15
  var _react = require("react");
16
+ var _type = require("../../type");
12
17
  var _objectManager = require("../../object-manager");
13
18
  var WebWidgetStoreBase = exports.WebWidgetStoreBase = /*#__PURE__*/function () {
14
19
  function WebWidgetStoreBase(_ref) {
@@ -22,6 +27,13 @@ var WebWidgetStoreBase = exports.WebWidgetStoreBase = /*#__PURE__*/function () {
22
27
  get: function get() {
23
28
  return this._widgetProvider.openedWidgets;
24
29
  }
30
+ }, {
31
+ key: "widgetConfigByContacts",
32
+ get: function get() {
33
+ return this._widgetProvider.supportedWidgetConfigs.find(function (widgetConfig) {
34
+ return widgetConfig.id === _type.CONTACTS_WIDGET_ID;
35
+ });
36
+ }
25
37
  }, {
26
38
  key: "release",
27
39
  value: function release() {}
@@ -109,6 +109,11 @@ var WebWidgetStore = exports.WebWidgetStore = /*#__PURE__*/function (_WebWidgetS
109
109
  key: "getWidgetDialogWindow",
110
110
  value: function getWidgetDialogWindow(dialogId) {
111
111
  var window = this._windowProvider.getWindowById(_constant.FcrUIDialogKey.WIDGET, dialogId);
112
+ if (dialogId === _type.CONTACTS_WIDGET_ID) {
113
+ var connectionGatewayWindow = this._windowProvider.getWindowById(_constant.FcrUIDialogKey.CONNECTION_GATEWAY);
114
+ // @ts-ignore
115
+ return connectionGatewayWindow._rendererWindow;
116
+ }
112
117
  // @ts-ignore
113
118
  return window._rendererWindow;
114
119
  }
@@ -1,13 +1,15 @@
1
1
  import { FcrBaseRoomControl } from 'fcr-core';
2
2
  import { FcrUIWebWidget } from './type';
3
3
  import { FcrUserPageParams } from 'fcr-core/lib/room-control/user-control/type';
4
- import { FcrRoomState, FcrRoomInfo } from 'fcr-core/lib/type';
4
+ import { FcrRoomState, FcrRoomInfo, FcrPhoneConnectorSessionParams, FcrIPConnectorSessionParams } from 'fcr-core/lib/type';
5
5
  export declare class FcrUIWebWidgetImpl implements FcrUIWebWidget {
6
6
  protected logger: import("agora-foundation/lib/logger").Logger;
7
7
  private _userControl;
8
8
  private _roomControl;
9
+ private _roomConnectorControl;
9
10
  private _userControlObserver;
10
11
  private _roomControlObserver;
12
+ private _roomConnectorObserver;
11
13
  private _webview;
12
14
  private _dialogWindow;
13
15
  private get webview();
@@ -22,6 +24,9 @@ export declare class FcrUIWebWidgetImpl implements FcrUIWebWidget {
22
24
  getUserList(): readonly import("fcr-core/lib/type").FcrUserInfo[];
23
25
  getAllUserCount(): number;
24
26
  fetchUserList(params: FcrUserPageParams): Promise<import("fcr-core/lib/imports").AgoraRteUserPageResponse>;
27
+ startSessionByPhone(params: FcrPhoneConnectorSessionParams): Promise<string>;
28
+ startSessionByIP(params: FcrIPConnectorSessionParams): Promise<string>;
29
+ stopSession(sessionId: string): Promise<void>;
25
30
  addObserver(): void;
26
31
  removeObserver(): void;
27
32
  private _handleApiResponse;
@@ -83,11 +83,19 @@ var FcrUIWebWidgetImpl = exports.FcrUIWebWidgetImpl = /*#__PURE__*/function () {
83
83
  _this._handleCallback('onRoomStateUpdated', [roomId, state]);
84
84
  }
85
85
  });
86
+ (0, _defineProperty2["default"])(this, "_roomConnectorObserver", {
87
+ onPhoneConnectorSessionStateUpdated: function onPhoneConnectorSessionStateUpdated(session, state, reason) {
88
+ _this._handleCallback('onPhoneConnectorSessionStateUpdated', [session, state, reason]);
89
+ },
90
+ onIPConnectorSessionStateUpdated: function onIPConnectorSessionStateUpdated(session, state, reason) {
91
+ _this._handleCallback('onIPConnectorSessionStateUpdated', [session, state, reason]);
92
+ }
93
+ });
86
94
  (0, _defineProperty2["default"])(this, "_webview", null);
87
95
  (0, _defineProperty2["default"])(this, "_dialogWindow", null);
88
96
  this._roomControl = roomControl;
89
97
  this._userControl = this._roomControl.getUserControl();
90
- this.addObserver();
98
+ this._roomConnectorControl = this._roomControl.getRoomConnectorControl();
91
99
  }
92
100
  return (0, _createClass2["default"])(FcrUIWebWidgetImpl, [{
93
101
  key: "webview",
@@ -104,6 +112,8 @@ var FcrUIWebWidgetImpl = exports.FcrUIWebWidgetImpl = /*#__PURE__*/function () {
104
112
  this._webview = webview;
105
113
  this._dialogWindow = dialogWindow;
106
114
  this._dialogWindow.addEventListener('message', this._handleApiResponse);
115
+ this.removeObserver();
116
+ this.addObserver();
107
117
  }
108
118
  }, {
109
119
  key: "reload",
@@ -163,41 +173,75 @@ var FcrUIWebWidgetImpl = exports.FcrUIWebWidgetImpl = /*#__PURE__*/function () {
163
173
  }
164
174
  return fetchUserList;
165
175
  }()
176
+ }, {
177
+ key: "startSessionByPhone",
178
+ value: function startSessionByPhone(params) {
179
+ return this._roomConnectorControl.startSessionByPhone(params);
180
+ }
181
+ }, {
182
+ key: "startSessionByIP",
183
+ value: function startSessionByIP(params) {
184
+ return this._roomConnectorControl.startSessionByIP(params);
185
+ }
186
+ }, {
187
+ key: "stopSession",
188
+ value: function stopSession(sessionId) {
189
+ return this._roomConnectorControl.stopSession(sessionId);
190
+ }
166
191
  }, {
167
192
  key: "addObserver",
168
193
  value: function addObserver() {
169
194
  this._roomControl.addObserver(this._roomControlObserver);
170
195
  this._userControl.addObserver(this._userControlObserver);
196
+ this._roomConnectorControl.addObserver(this._roomConnectorObserver);
171
197
  }
172
198
  }, {
173
199
  key: "removeObserver",
174
200
  value: function removeObserver() {
175
201
  this._roomControl.removeObserver(this._roomControlObserver);
176
202
  this._userControl.removeObserver(this._userControlObserver);
203
+ this._roomConnectorControl.removeObserver(this._roomConnectorObserver);
177
204
  }
178
205
  }, {
179
206
  key: "_handleApiResponse",
180
- value: function _handleApiResponse(event) {
181
- // if (event.origin !== webWidget.webview?.url) return;
182
- if (event.data) {
183
- var _event$data = event.data,
184
- action = _event$data.action,
185
- callId = _event$data.callId,
186
- method = _event$data.method,
187
- parameters = _event$data.parameters;
188
- if (action === 'apiRequest') {
189
- var returnValue = this[method](parameters[0]);
190
- var params = {
191
- action: 'apiResponse',
192
- callId: callId,
193
- method: method,
194
- returnValue: returnValue
195
- };
196
- this.webview.postMessage(params, '*');
197
- this.logger.debug('_handleApiResponse: ', params);
198
- }
207
+ value: function () {
208
+ var _handleApiResponse2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(event) {
209
+ var _event$data, action, callId, method, parameters, returnValue, params;
210
+ return _regenerator["default"].wrap(function (_context2) {
211
+ while (1) switch (_context2.prev = _context2.next) {
212
+ case 0:
213
+ if (!event.data) {
214
+ _context2.next = 2;
215
+ break;
216
+ }
217
+ _event$data = event.data, action = _event$data.action, callId = _event$data.callId, method = _event$data.method, parameters = _event$data.parameters;
218
+ if (!(action === 'apiRequest')) {
219
+ _context2.next = 2;
220
+ break;
221
+ }
222
+ _context2.next = 1;
223
+ return this[method](parameters[0]);
224
+ case 1:
225
+ returnValue = _context2.sent;
226
+ params = {
227
+ action: 'apiResponse',
228
+ callId: callId,
229
+ method: method,
230
+ returnValue: returnValue
231
+ };
232
+ this.webview.postMessage(params, '*');
233
+ this.logger.debug('_handleApiResponse: ', params);
234
+ case 2:
235
+ case "end":
236
+ return _context2.stop();
237
+ }
238
+ }, _callee2, this);
239
+ }));
240
+ function _handleApiResponse(_x2) {
241
+ return _handleApiResponse2.apply(this, arguments);
199
242
  }
200
- }
243
+ return _handleApiResponse;
244
+ }()
201
245
  }, {
202
246
  key: "_handleCallback",
203
247
  value: function _handleCallback(method, payload) {
@@ -220,7 +264,7 @@ var FcrUIWebWidgetImpl = exports.FcrUIWebWidgetImpl = /*#__PURE__*/function () {
220
264
  }]);
221
265
  }();
222
266
  _FcrUIWebWidgetImpl = FcrUIWebWidgetImpl;
223
- var _applyDecs$e = _applyDecs(_FcrUIWebWidgetImpl, [[[_decorator.bound, _log.trace], 2, "init"], [[_decorator.bound, _log.trace], 2, "reload"], [[_decorator.bound, _log.trace], 2, "release"], [[_decorator.bound, _log.trace], 2, "getRoomInfo"], [[_decorator.bound, _log.trace], 2, "getRoomSchedule"], [[_decorator.bound, _log.trace], 2, "getRoomState"], [[_decorator.bound, _log.trace], 2, "getLocalUser"], [[_decorator.bound, _log.trace], 2, "getUserList"], [[_decorator.bound, _log.trace], 2, "getAllUserCount"], [[_decorator.bound, _log.trace], 2, "fetchUserList"], [_decorator.bound, 2, "_handleApiResponse"], [_decorator.bound, 2, "_handleCallback"]], []).e;
267
+ var _applyDecs$e = _applyDecs(_FcrUIWebWidgetImpl, [[[_decorator.bound, _log.trace], 2, "init"], [[_decorator.bound, _log.trace], 2, "reload"], [[_decorator.bound, _log.trace], 2, "release"], [[_decorator.bound, _log.trace], 2, "getRoomInfo"], [[_decorator.bound, _log.trace], 2, "getRoomSchedule"], [[_decorator.bound, _log.trace], 2, "getRoomState"], [[_decorator.bound, _log.trace], 2, "getLocalUser"], [[_decorator.bound, _log.trace], 2, "getUserList"], [[_decorator.bound, _log.trace], 2, "getAllUserCount"], [[_decorator.bound, _log.trace], 2, "fetchUserList"], [[_decorator.bound, _log.trace], 2, "startSessionByPhone"], [[_decorator.bound, _log.trace], 2, "startSessionByIP"], [[_decorator.bound, _log.trace], 2, "stopSession"], [_decorator.bound, 2, "_handleApiResponse"], [_decorator.bound, 2, "_handleCallback"]], []).e;
224
268
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
225
269
  _initProto = _applyDecs$e2[0];
226
270
  _applyDecs$e;
@@ -129,16 +129,16 @@ _FcrUIObjectManager = FcrUIObjectManager;
129
129
  var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIObjectManager, [[_decorator.trace, 2, "setObject"], [_decorator.trace, 2, "deleteObject"], [_decorator.trace, 2, "clear"], [_decorator.trace, 2, "keys"], [_decorator.trace, 2, "size"]], []).e, 1);
130
130
  _initProto = _applyDecs$e[0];
131
131
  var FcrUIObjectKeys = exports.FcrUIObjectKeys = /*#__PURE__*/function (FcrUIObjectKeys) {
132
- /**
133
- * Core Engine
132
+ /**
133
+ * Core Engine
134
134
  */
135
135
  FcrUIObjectKeys["CORE_ENGINE"] = "coreEngine";
136
- /**
137
- * Renderer Wrapper
136
+ /**
137
+ * Renderer Wrapper
138
138
  */
139
139
  FcrUIObjectKeys["RENDERER_WRAPPER"] = "rendererWrapper";
140
- /**
141
- * Providers
140
+ /**
141
+ * Providers
142
142
  */
143
143
  FcrUIObjectKeys["P_MESSAGE_PROVIDER"] = "messageProvider";
144
144
  FcrUIObjectKeys["P_DIALOG_PROVIDER"] = "dialogProvider";
@@ -173,8 +173,8 @@ var FcrUIObjectKeys = exports.FcrUIObjectKeys = /*#__PURE__*/function (FcrUIObje
173
173
  FcrUIObjectKeys["P_BOARD_SHARE_PROVIDER"] = "boardShareProvider";
174
174
  FcrUIObjectKeys["P_WHITEBOARD_CONTROL_PROVIDER"] = "whiteboardControlProvider";
175
175
  FcrUIObjectKeys["P_MOUSE_DETECT_PROVIDER"] = "mouseDetectProvider";
176
- /**
177
- * shared data sources
176
+ /**
177
+ * shared data sources
178
178
  */
179
179
  FcrUIObjectKeys["S_SHARED_MAIN_ROOM_DATA_SOURCE"] = "sharedMainRoomDataSource";
180
180
  FcrUIObjectKeys["S_SHARED_CONFIG_DATA_SOURCE"] = "sharedConfigDataSource";
@@ -12,10 +12,10 @@ require("core-js/modules/es.json.stringify.js");
12
12
  require("core-js/modules/es.object.to-string.js");
13
13
  require("core-js/modules/es.promise.js");
14
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
- /**
16
- * 创建房间
17
- * @param roomName
18
- * @returns 房间ID
15
+ /**
16
+ * 创建房间
17
+ * @param roomName
18
+ * @returns 房间ID
19
19
  */
20
20
  var createRoom = /*#__PURE__*/function () {
21
21
  var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(roomName) {
@@ -57,13 +57,13 @@ var createRoom = /*#__PURE__*/function () {
57
57
  };
58
58
  }();
59
59
 
60
- /**
61
- * 生成用户Token
62
- * @param roomId
63
- * @param userId
64
- * @param userName
65
- * @param role
66
- * @returns
60
+ /**
61
+ * 生成用户Token
62
+ * @param roomId
63
+ * @param userId
64
+ * @param userName
65
+ * @param role
66
+ * @returns
67
67
  */
68
68
  var getUserToken = /*#__PURE__*/function () {
69
69
  var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(roomId, userId, userName, role) {