fcr-ui-scene 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/lib/fcr-ui-kit/src/components/avatar/helper.d.ts +2 -0
  2. package/lib/fcr-ui-kit/src/components/avatar/index.d.ts +8 -0
  3. package/lib/fcr-ui-kit/src/components/button/index.d.ts +82 -0
  4. package/lib/fcr-ui-kit/src/components/checkbox/index.d.ts +12 -0
  5. package/lib/fcr-ui-kit/src/components/dialog/class-dialog.d.ts +51 -0
  6. package/lib/fcr-ui-kit/src/components/dialog/confirm-dialog.d.ts +70 -0
  7. package/lib/fcr-ui-kit/src/components/dialog/global-dialog.d.ts +11 -0
  8. package/lib/fcr-ui-kit/src/components/dialog/index.d.ts +68 -0
  9. package/lib/fcr-ui-kit/src/components/dropdown/index.d.ts +58 -0
  10. package/lib/fcr-ui-kit/src/components/input/index.d.ts +69 -0
  11. package/lib/fcr-ui-kit/src/components/input-number/index.d.ts +69 -0
  12. package/lib/fcr-ui-kit/src/components/pagination/index.d.ts +27 -0
  13. package/lib/fcr-ui-kit/src/components/popover/index.d.ts +47 -0
  14. package/lib/fcr-ui-kit/src/components/progress/index.d.ts +11 -0
  15. package/lib/fcr-ui-kit/src/components/radio/index.d.ts +21 -0
  16. package/lib/fcr-ui-kit/src/components/slider/index.d.ts +22 -0
  17. package/lib/fcr-ui-kit/src/components/sound-player/index.d.ts +6 -0
  18. package/lib/fcr-ui-kit/src/components/svg-img/clickable-icon.d.ts +25 -0
  19. package/lib/fcr-ui-kit/src/components/svg-img/index.d.ts +15 -0
  20. package/lib/fcr-ui-kit/src/components/svg-img/mic.d.ts +5 -0
  21. package/lib/fcr-ui-kit/src/components/svg-img/svg-dict.d.ts +12 -0
  22. package/lib/fcr-ui-kit/src/components/svg-img/type.d.ts +195 -0
  23. package/lib/fcr-ui-kit/src/components/svga-player/index.d.ts +15 -0
  24. package/lib/fcr-ui-kit/src/components/svga-player/svga-types.d.ts +1 -0
  25. package/lib/fcr-ui-kit/src/components/table/index.d.ts +9 -0
  26. package/lib/fcr-ui-kit/src/components/tabs/index.d.ts +14 -0
  27. package/lib/fcr-ui-kit/src/components/textarea/helper.d.ts +2 -0
  28. package/lib/fcr-ui-kit/src/components/textarea/index.d.ts +100 -0
  29. package/lib/fcr-ui-kit/src/components/toast/index.d.ts +122 -0
  30. package/lib/fcr-ui-kit/src/components/tooltip/dialog.d.ts +19 -0
  31. package/lib/fcr-ui-kit/src/components/tooltip/index.d.ts +89 -0
  32. package/lib/fcr-ui-kit/src/components/tooltip/info.d.ts +6 -0
  33. package/lib/fcr-ui-kit/src/components/volume/index.d.ts +8 -0
  34. package/lib/fcr-ui-kit/src/utils/click-anywhere.d.ts +1 -0
  35. package/lib/fcr-ui-kit/src/utils/hooks/animations.d.ts +14 -0
  36. package/lib/fcr-ui-kit/src/utils/hooks/use-click-anywhere.d.ts +2 -0
  37. package/lib/fcr-ui-kit/src/utils/tailwindcss.d.ts +3 -0
  38. package/lib/fcr-ui-scene/src/app.d.ts +5 -0
  39. package/lib/fcr-ui-scene/src/configs/base-theme.d.ts +391 -0
  40. package/lib/fcr-ui-scene/src/configs/base-ui.d.ts +12 -0
  41. package/lib/fcr-ui-scene/src/containers/action-bar/chat/index.d.ts +3 -0
  42. package/lib/fcr-ui-scene/src/containers/action-bar/cloud/index.d.ts +3 -0
  43. package/lib/fcr-ui-scene/src/containers/action-bar/device/index.d.ts +9 -0
  44. package/lib/fcr-ui-scene/src/containers/action-bar/index.d.ts +24 -0
  45. package/lib/fcr-ui-scene/src/containers/action-bar/leave/index.d.ts +4 -0
  46. package/lib/fcr-ui-scene/src/containers/action-bar/participants/index.d.ts +5 -0
  47. package/lib/fcr-ui-scene/src/containers/action-bar/raise-hands/index.d.ts +3 -0
  48. package/lib/fcr-ui-scene/src/containers/action-bar/record/index.d.ts +3 -0
  49. package/lib/fcr-ui-scene/src/containers/action-bar/screen-share/index.d.ts +3 -0
  50. package/lib/fcr-ui-scene/src/containers/action-bar/setting/index.d.ts +3 -0
  51. package/lib/fcr-ui-scene/src/containers/action-bar/toolbox/index.d.ts +3 -0
  52. package/lib/fcr-ui-scene/src/containers/action-bar/whiteboard/index.d.ts +3 -0
  53. package/lib/fcr-ui-scene/src/containers/breakout-room/ask-help-list.d.ts +10 -0
  54. package/lib/fcr-ui-scene/src/containers/breakout-room/broadcast-panel.d.ts +4 -0
  55. package/lib/fcr-ui-scene/src/containers/breakout-room/create-panel.d.ts +4 -0
  56. package/lib/fcr-ui-scene/src/containers/breakout-room/group-info-panel.d.ts +2 -0
  57. package/lib/fcr-ui-scene/src/containers/breakout-room/group-panel.d.ts +5 -0
  58. package/lib/fcr-ui-scene/src/containers/breakout-room/group-status-panel.d.ts +2 -0
  59. package/lib/fcr-ui-scene/src/containers/breakout-room/grouping.d.ts +15 -0
  60. package/lib/fcr-ui-scene/src/containers/breakout-room/index.d.ts +3 -0
  61. package/lib/fcr-ui-scene/src/containers/breakout-room/search-panel.d.ts +5 -0
  62. package/lib/fcr-ui-scene/src/containers/breakout-room/wizard.d.ts +6 -0
  63. package/lib/fcr-ui-scene/src/containers/cloud/dialog-header.d.ts +3 -0
  64. package/lib/fcr-ui-scene/src/containers/cloud/index.d.ts +6 -0
  65. package/lib/fcr-ui-scene/src/containers/cloud/personal.d.ts +3 -0
  66. package/lib/fcr-ui-scene/src/containers/cloud/public.d.ts +4 -0
  67. package/lib/fcr-ui-scene/src/containers/common/interact-labels.d.ts +6 -0
  68. package/lib/fcr-ui-scene/src/containers/device-pretest/basic-settings.d.ts +4 -0
  69. package/lib/fcr-ui-scene/src/containers/device-pretest/beauty-filter.d.ts +2 -0
  70. package/lib/fcr-ui-scene/src/containers/device-pretest/beauty-slider.d.ts +2 -0
  71. package/lib/fcr-ui-scene/src/containers/device-pretest/device-select.d.ts +4 -0
  72. package/lib/fcr-ui-scene/src/containers/device-pretest/index.d.ts +4 -0
  73. package/lib/fcr-ui-scene/src/containers/device-pretest/mirror-toggle.d.ts +4 -0
  74. package/lib/fcr-ui-scene/src/containers/device-pretest/video-portal.d.ts +2 -0
  75. package/lib/fcr-ui-scene/src/containers/device-pretest/virtual-background.d.ts +4 -0
  76. package/lib/fcr-ui-scene/src/containers/device-settings/audio-settings.d.ts +2 -0
  77. package/lib/fcr-ui-scene/src/containers/device-settings/dialog-wrapper.d.ts +2 -0
  78. package/lib/fcr-ui-scene/src/containers/device-settings/index.d.ts +3 -0
  79. package/lib/fcr-ui-scene/src/containers/device-settings/video-settings.d.ts +2 -0
  80. package/lib/fcr-ui-scene/src/containers/dialog/class-info.d.ts +3 -0
  81. package/lib/fcr-ui-scene/src/containers/dialog/confirm.d.ts +3 -0
  82. package/lib/fcr-ui-scene/src/containers/dialog/index.d.ts +2 -0
  83. package/lib/fcr-ui-scene/src/containers/layout/cover-view.d.ts +2 -0
  84. package/lib/fcr-ui-scene/src/containers/layout/gallery-view.d.ts +3 -0
  85. package/lib/fcr-ui-scene/src/containers/layout/presentation-view.d.ts +3 -0
  86. package/lib/fcr-ui-scene/src/containers/loading/index.d.ts +3 -0
  87. package/lib/fcr-ui-scene/src/containers/participants/dialog.d.ts +2 -0
  88. package/lib/fcr-ui-scene/src/containers/participants/index.d.ts +5 -0
  89. package/lib/fcr-ui-scene/src/containers/status-bar/class-duration/index.d.ts +3 -0
  90. package/lib/fcr-ui-scene/src/containers/status-bar/fullscreen/index.d.ts +3 -0
  91. package/lib/fcr-ui-scene/src/containers/status-bar/index.d.ts +4 -0
  92. package/lib/fcr-ui-scene/src/containers/status-bar/layout-switch/index.d.ts +22 -0
  93. package/lib/fcr-ui-scene/src/containers/status-bar/network/index.d.ts +4 -0
  94. package/lib/fcr-ui-scene/src/containers/status-bar/record-status/index.d.ts +3 -0
  95. package/lib/fcr-ui-scene/src/containers/status-bar/room-info/index.d.ts +4 -0
  96. package/lib/fcr-ui-scene/src/containers/status-bar/share/index.d.ts +3 -0
  97. package/lib/fcr-ui-scene/src/containers/status-bar/widgets/index.d.ts +3 -0
  98. package/lib/fcr-ui-scene/src/containers/stream-window/context.d.ts +52 -0
  99. package/lib/fcr-ui-scene/src/containers/stream-window/index.d.ts +3 -0
  100. package/lib/fcr-ui-scene/src/containers/video-player/index.d.ts +2 -0
  101. package/lib/fcr-ui-scene/src/containers/video-player/players.d.ts +3 -0
  102. package/lib/fcr-ui-scene/src/containers/video-player/tools-overlay.d.ts +1 -0
  103. package/lib/fcr-ui-scene/src/containers/widget/break-out-room/index.d.ts +2 -0
  104. package/lib/fcr-ui-scene/src/containers/widget/draggable-wrapper/index.d.ts +7 -0
  105. package/lib/fcr-ui-scene/src/containers/widget/helpers.d.ts +40 -0
  106. package/lib/fcr-ui-scene/src/containers/widget/hooks.d.ts +21 -0
  107. package/lib/fcr-ui-scene/src/containers/widget/index.d.ts +7 -0
  108. package/lib/fcr-ui-scene/src/containers/widget/participants/index.d.ts +2 -0
  109. package/lib/fcr-ui-scene/src/extension/board.d.ts +73 -0
  110. package/lib/fcr-ui-scene/src/extension/edu-tool.d.ts +57 -0
  111. package/lib/fcr-ui-scene/src/extension/events.d.ts +91 -0
  112. package/lib/fcr-ui-scene/src/extension/type.d.ts +94 -0
  113. package/lib/fcr-ui-scene/src/index.d.ts +39 -0
  114. package/lib/fcr-ui-scene/src/preset.d.ts +1 -0
  115. package/lib/fcr-ui-scene/src/resources/translations/enUs.d.ts +393 -0
  116. package/lib/fcr-ui-scene/src/resources/translations/zhCn.d.ts +398 -0
  117. package/lib/fcr-ui-scene/src/scenarios/classroom.d.ts +2 -0
  118. package/lib/fcr-ui-scene/src/scenarios/layout/index.d.ts +2 -0
  119. package/lib/fcr-ui-scene/src/type.d.ts +347 -0
  120. package/lib/fcr-ui-scene/src/uistores/action-bar.d.ts +58 -0
  121. package/lib/fcr-ui-scene/src/uistores/base.d.ts +58 -0
  122. package/lib/fcr-ui-scene/src/uistores/breakout.d.ts +225 -0
  123. package/lib/fcr-ui-scene/src/uistores/cloud/helper.d.ts +26 -0
  124. package/lib/fcr-ui-scene/src/uistores/cloud/index.d.ts +51 -0
  125. package/lib/fcr-ui-scene/src/uistores/cloud/struct.d.ts +131 -0
  126. package/lib/fcr-ui-scene/src/uistores/context.d.ts +7 -0
  127. package/lib/fcr-ui-scene/src/uistores/device-setting.d.ts +219 -0
  128. package/lib/fcr-ui-scene/src/uistores/gallery-view.d.ts +16 -0
  129. package/lib/fcr-ui-scene/src/uistores/getters.d.ts +39 -0
  130. package/lib/fcr-ui-scene/src/uistores/index.d.ts +47 -0
  131. package/lib/fcr-ui-scene/src/uistores/layout.d.ts +64 -0
  132. package/lib/fcr-ui-scene/src/uistores/notification.d.ts +9 -0
  133. package/lib/fcr-ui-scene/src/uistores/participants.d.ts +48 -0
  134. package/lib/fcr-ui-scene/src/uistores/presentation-view.d.ts +24 -0
  135. package/lib/fcr-ui-scene/src/uistores/status-bar.d.ts +47 -0
  136. package/lib/fcr-ui-scene/src/uistores/stream.d.ts +48 -0
  137. package/lib/fcr-ui-scene/src/uistores/subscription/abstract.d.ts +45 -0
  138. package/lib/fcr-ui-scene/src/uistores/subscription/index.d.ts +13 -0
  139. package/lib/fcr-ui-scene/src/uistores/subscription/main-room.d.ts +14 -0
  140. package/lib/fcr-ui-scene/src/uistores/subscription/type.d.ts +10 -0
  141. package/lib/fcr-ui-scene/src/uistores/type.d.ts +86 -0
  142. package/lib/fcr-ui-scene/src/uistores/widget.d.ts +46 -0
  143. package/lib/fcr-ui-scene/src/utils/asset.d.ts +1 -0
  144. package/lib/fcr-ui-scene/src/utils/check.d.ts +7 -0
  145. package/lib/fcr-ui-scene/src/utils/clamp-bounds.d.ts +14 -0
  146. package/lib/fcr-ui-scene/src/utils/config-loader.d.ts +7 -0
  147. package/lib/fcr-ui-scene/src/utils/grid/index.d.ts +9 -0
  148. package/lib/fcr-ui-scene/src/utils/hooks/use-authorization.d.ts +5 -0
  149. package/lib/fcr-ui-scene/src/utils/hooks/use-device-switch.d.ts +29 -0
  150. package/lib/fcr-ui-scene/src/utils/hooks/use-drag-position.d.ts +21 -0
  151. package/lib/fcr-ui-scene/src/utils/hooks/use-network.d.ts +17 -0
  152. package/lib/fcr-ui-scene/src/utils/hooks/use-pin-stream.d.ts +4 -0
  153. package/lib/fcr-ui-scene/src/utils/hooks/use-rnd-position.d.ts +24 -0
  154. package/lib/fcr-ui-scene/src/utils/hooks/use-store.d.ts +1 -0
  155. package/lib/fcr-ui-scene/src/utils/hooks/use-video-renderable.d.ts +3 -0
  156. package/lib/fcr-ui-scene/src/utils/hooks/use-z-index.d.ts +8 -0
  157. package/lib/fcr-ui-scene/src/utils/index.d.ts +7 -0
  158. package/lib/fcr-ui-scene/src/utils/launch-options-holder.d.ts +10 -0
  159. package/lib/fcr-ui-scene/src/utils/rtc-extensions.d.ts +29 -0
  160. package/lib/fcr-ui-scene/src/utils/short-name.d.ts +1 -0
  161. package/lib/fcr-ui-scene/src/utils/stream/index.d.ts +3 -0
  162. package/lib/fcr-ui-scene/src/utils/stream/state-keeper.d.ts +18 -0
  163. package/lib/fcr-ui-scene/src/utils/stream/struct.d.ts +67 -0
  164. package/lib/fcr-ui-scene/src/utils/z-index-controller.d.ts +9 -0
  165. package/lib/fcr-ui-scene/tailwind.config.d.ts +1 -0
  166. package/lib/log.worker.bundle.worker.js.LICENSE.txt +1 -0
  167. package/lib/scene.bundle.js +2 -0
  168. package/lib/scene.bundle.js.LICENSE.txt +334 -0
  169. package/package.json +95 -0
@@ -0,0 +1,347 @@
1
+ import { ConversionOption, EduRegion, EduRoleTypeEnum, EduRoomTypeEnum, EduRtcConfig } from 'agora-edu-core';
2
+ import { AGMediaOptions, AgoraLatencyLevel, AGVideoEncoderConfiguration } from 'agora-rte-sdk';
3
+ import { FcrMultiThemeMode } from 'agora-common-libs';
4
+ import { FcrUISceneWidget } from 'agora-common-libs';
5
+ import { IBaseProcessor, IExtension } from 'agora-rte-extension';
6
+ import { CloudDriveResourceConvertProgress } from './uistores/cloud/struct';
7
+ export declare type BoardWindowAnimationOptions = {
8
+ minFPS?: number;
9
+ maxFPS?: number;
10
+ resolution?: number;
11
+ autoResolution?: boolean;
12
+ autoFPS?: boolean;
13
+ maxResolutionLevel?: number;
14
+ forceCanvas?: boolean;
15
+ };
16
+ /**
17
+ * 启动参数
18
+ */
19
+ /** @en
20
+ * Options to launch SDK
21
+ */
22
+ export declare type LaunchOptions = {
23
+ /**
24
+ * App ID
25
+ */
26
+ /** @en
27
+ * App ID
28
+ */
29
+ appId: string;
30
+ /**
31
+ * 教育服务区域
32
+ */
33
+ /** @en
34
+ * Edu service region
35
+ */
36
+ region: EduRegion;
37
+ /**
38
+ * 进入教室的令牌
39
+ */
40
+ /** @en
41
+ * API Token used to join the room
42
+ */
43
+ token: string;
44
+ /**
45
+ * 界面语言
46
+ */
47
+ /** @en
48
+ * UI language
49
+ */
50
+ language: Language;
51
+ /**
52
+ * 用户唯一标识
53
+ */
54
+ /** @en
55
+ * User identifier
56
+ */
57
+ userUuid: string;
58
+ /**
59
+ * 用户昵称
60
+ */
61
+ /** @en
62
+ * User nickname
63
+ */
64
+ userName: string;
65
+ /**
66
+ * 用户角色
67
+ */
68
+ /** @en
69
+ * User role
70
+ */
71
+ roleType: EduRoleTypeEnum;
72
+ /**
73
+ * 房间唯一标识
74
+ */
75
+ /** @en
76
+ * Room identifier
77
+ */
78
+ roomUuid: string;
79
+ /**
80
+ * 房间名称
81
+ */
82
+ /** @en
83
+ * Room name
84
+ */
85
+ roomName: string;
86
+ /**
87
+ * 房间类型
88
+ */
89
+ /** @en
90
+ * Room type
91
+ */
92
+ roomType: EduRoomTypeEnum;
93
+ /**
94
+ * 开始时间
95
+ */
96
+ /** @en
97
+ * Start timestamp of the room
98
+ */
99
+ startTime?: number;
100
+ /**
101
+ * 房间时长
102
+ */
103
+ /** @en
104
+ * Time duration of the room
105
+ */
106
+ duration: number;
107
+ /**
108
+ * 设备检测是否启用
109
+ */
110
+ /** @en
111
+ * Wether device pretest is enabled
112
+ */
113
+ devicePretest: boolean;
114
+ /**
115
+ * 公共课件列表
116
+ */
117
+ /** @en
118
+ * Public courseware list listing in the cloud drive
119
+ */
120
+ coursewareList?: CoursewareList;
121
+ /**
122
+ * 用户自定义属性
123
+ */
124
+ /** @en
125
+ * User flexible properties
126
+ */
127
+ userFlexProperties?: {
128
+ [key: string]: unknown;
129
+ };
130
+ /**
131
+ * RTC 延迟等级
132
+ */
133
+ /** @en
134
+ * RTC latency level
135
+ */
136
+ latencyLevel?: AgoraLatencyLevel;
137
+ /**
138
+ * 录制页面地址
139
+ */
140
+ /** @en
141
+ * Recording page URL
142
+ */
143
+ recordUrl?: string;
144
+ /**
145
+ * 录制重试间隔
146
+ */
147
+ /** @en
148
+ * Time duration to wait before retrying when recording is failed to start
149
+ */
150
+ recordRetryTimeout?: number;
151
+ /**
152
+ * UI 主题
153
+ */
154
+ /** @en
155
+ * UI Theme
156
+ */
157
+ uiMode?: FcrMultiThemeMode;
158
+ /**
159
+ * 分享链接
160
+ */
161
+ /** @en
162
+ * Room share link
163
+ */
164
+ shareUrl?: string;
165
+ /**
166
+ * 虚拟背景图片
167
+ */
168
+ /** @en
169
+ * Virtual background image assets
170
+ */
171
+ virtualBackgroundImages?: string[];
172
+ /**
173
+ * 虚拟背景视频
174
+ */
175
+ /** @en
176
+ * Virtual background video assets
177
+ */
178
+ virtualBackgroundVideos?: string[];
179
+ /**
180
+ * 声网 WebRTC SDK 扩展插件包路径前缀
181
+ */
182
+ /** @en
183
+ * URL prefix of extension binary assets of Agora WebRTC SDK
184
+ */
185
+ webrtcExtensionBaseUrl?: string;
186
+ /**
187
+ * 音视频编解码配置
188
+ */
189
+ /** @en
190
+ * Configurations for video and audio codecs
191
+ */
192
+ mediaOptions?: LaunchMediaOptions;
193
+ /**
194
+ * 使用插件
195
+ */
196
+ /** @en
197
+ * Widgets to use with SDK
198
+ */
199
+ widgets?: Record<string, typeof FcrUISceneWidget>;
200
+ /**
201
+ * 白板录制选项
202
+ */
203
+ /** @en
204
+ * BoardRecordOptions
205
+ */
206
+ recordOptions?: BoardWindowAnimationOptions;
207
+ };
208
+ /**
209
+ * 支持的语言
210
+ */
211
+ /** @en
212
+ * Supported languages
213
+ */
214
+ export declare type Language = 'en' | 'zh';
215
+ /**
216
+ * 课件页信息
217
+ */
218
+ /** @en
219
+ * Page info of slides
220
+ */
221
+ export declare type CoursewarePageInfo = {
222
+ /**
223
+ * 预览图
224
+ */
225
+ /** @en
226
+ * URL of the preview image of the page showing at nav bar of a slide window
227
+ */
228
+ preview?: string;
229
+ /**
230
+ * 图片资源链接
231
+ */
232
+ /** @en
233
+ * URL of the page image
234
+ */
235
+ src: string;
236
+ /**
237
+ * 图片资源宽度
238
+ */
239
+ /** @en
240
+ * Width of the page image
241
+ */
242
+ width: number;
243
+ /**
244
+ * 图片资源高度
245
+ */
246
+ /** @en
247
+ * Height of the page image
248
+ */
249
+ height: number;
250
+ };
251
+ /**
252
+ * 课件信息
253
+ */
254
+ /** @en
255
+ * Courseware slide info
256
+ */
257
+ export declare type CoursewareItem = {
258
+ /**
259
+ *
260
+ */
261
+ /**
262
+ *
263
+ */
264
+ resourceName: string;
265
+ resourceUuid: string;
266
+ ext: string;
267
+ url?: string;
268
+ size: number;
269
+ updateTime: number;
270
+ taskUuid?: string;
271
+ taskProgress?: CloudDriveResourceConvertProgress;
272
+ conversion?: ConversionOption;
273
+ initOpen?: boolean;
274
+ };
275
+ /**
276
+ * 公共课件列表
277
+ */
278
+ /** @en
279
+ *
280
+ */
281
+ export declare type CoursewareList = CoursewareItem[];
282
+ /**
283
+ * 设备采集编码配置
284
+ */
285
+ /** @en
286
+ *
287
+ */
288
+ export declare type ConvertMediaOptionsConfig = EduRtcConfig & {
289
+ defaultLowStreamCameraEncoderConfigurations?: AGVideoEncoderConfiguration;
290
+ };
291
+ /**
292
+ * 音视频编解码配置
293
+ */
294
+ /** @en
295
+ *
296
+ */
297
+ export declare type LaunchMediaOptions = AGMediaOptions & {
298
+ lowStreamCameraEncoderConfiguration?: AGVideoEncoderConfiguration;
299
+ };
300
+ /**
301
+ * WebRTC 扩展初始化器
302
+ */
303
+ /** @en
304
+ *
305
+ */
306
+ export declare type ExtensionInitializer = {
307
+ createInstance: () => IExtension<IBaseProcessor>;
308
+ createProcessor: (extension: IExtension<IBaseProcessor>) => Promise<IBaseProcessor>;
309
+ };
310
+ /**
311
+ * 音视频处理器初始化器
312
+ */
313
+ /** @en
314
+ *
315
+ */
316
+ export declare type ProcessorInitializer<T extends IBaseProcessor> = {
317
+ name: string;
318
+ createProcessor: () => Promise<T>;
319
+ };
320
+ /**
321
+ * 虚拟背景参数
322
+ */
323
+ /** @en
324
+ * Virtual background options
325
+ */
326
+ export declare type VirtualBackgroundOptions = {
327
+ url: string;
328
+ type: 'image' | 'video';
329
+ };
330
+ /**
331
+ * 美颜参数
332
+ */
333
+ /** @en
334
+ * Beauty filter options
335
+ */
336
+ export declare type BeautyFilterOptions = {
337
+ smooth: number;
338
+ brightening: number;
339
+ blush: number;
340
+ };
341
+ /**
342
+ * 工具函数
343
+ */
344
+ /** @en
345
+ *
346
+ */
347
+ export { isElectron, isWeb, isProduction } from './utils/check';
@@ -0,0 +1,58 @@
1
+ import { EduUIStoreBase } from './base';
2
+ import { ShareStreamStateKeeper } from '@ui-scene/utils/stream/state-keeper';
3
+ import { ClassroomState, RecordMode } from 'agora-edu-core';
4
+ import { AgoraRteMediaSourceState } from 'agora-rte-sdk';
5
+ export declare class ActionBarUIStore extends EduUIStoreBase {
6
+ private _handsUpTask;
7
+ isHandsUp: boolean;
8
+ raiseHand(): void;
9
+ lowerHand(userUuid?: string): void;
10
+ handsUpMap: Map<string, number>;
11
+ private _handsUpListScanTask;
12
+ addHandsUpStudent(userUuid: string): void;
13
+ removeHandsUpStudent(userUuid: string): void;
14
+ clearHandsUpStudent(): void;
15
+ isHandsUpByUserUuid: (userUuid: string) => boolean;
16
+ startHandsUpMapScan(): void;
17
+ stopHandsUpListScan(): void;
18
+ lowerAllHands(): void;
19
+ get isHost(): boolean;
20
+ get showEndClassButton(): boolean;
21
+ get showToolBox(): boolean;
22
+ get showWhiteBoard(): boolean;
23
+ get showScreenShare(): boolean;
24
+ get showRecord(): boolean;
25
+ get showRaiseHands(): boolean;
26
+ get showCloud(): boolean;
27
+ showLeaveOption: boolean;
28
+ leaveFlag: number;
29
+ shareScreenStateKeeperMap: Map<string, ShareStreamStateKeeper>;
30
+ get isScreenSharing(): boolean;
31
+ get isLocalScreenSharing(): boolean;
32
+ openChatDialog(): void;
33
+ closeChatDialog(): void;
34
+ setPrivateChat(userId: string): void;
35
+ setShowLeaveOption(show: boolean, flag: number): void;
36
+ startRecording(): void;
37
+ stopRecording(): void;
38
+ get recordArgs(): {
39
+ webRecordConfig: {
40
+ rootUrl: string;
41
+ videoBitrate: number;
42
+ };
43
+ mode: RecordMode;
44
+ retryTimeout: number;
45
+ };
46
+ startLocalScreenShare(): void;
47
+ preCheckScreenShareStatus(): void;
48
+ stopLocalScreenShare(): void;
49
+ get screenShareStateAccessor(): {
50
+ trackState: AgoraRteMediaSourceState;
51
+ classroomState: ClassroomState;
52
+ };
53
+ leaveClassroom(): void;
54
+ private _onReceiveChannelMessage;
55
+ private _onReceivePeerMessage;
56
+ onDestroy(): void;
57
+ onInstall(): void;
58
+ }
@@ -0,0 +1,58 @@
1
+ import { EduClassroomStore } from 'agora-edu-core';
2
+ import { Logger } from 'agora-common-libs';
3
+ import { Getters } from './getters';
4
+ /**
5
+ *
6
+ */
7
+ /** @en
8
+ *
9
+ */
10
+ export declare abstract class EduUIStoreBase {
11
+ protected _disposers: (() => void)[];
12
+ /**
13
+ *
14
+ */
15
+ /** @en
16
+ *
17
+ */
18
+ protected readonly logger: Logger;
19
+ /**
20
+ *
21
+ */
22
+ /** @en
23
+ *
24
+ */
25
+ protected readonly getters: Getters;
26
+ /**
27
+ * 当前 EduClassroomStore 实例
28
+ */
29
+ /** @en
30
+ *
31
+ */
32
+ readonly classroomStore: EduClassroomStore;
33
+ /**
34
+ * 构造函数
35
+ * @param store
36
+ * @param shareUIStore
37
+ */
38
+ /** @en
39
+ * 构造函数
40
+ * @param store
41
+ * @param shareUIStore
42
+ */
43
+ constructor(store: EduClassroomStore, getters: Getters);
44
+ /**
45
+ * UIStore 初始化
46
+ */
47
+ /** @en
48
+ *
49
+ */
50
+ abstract onInstall(): void;
51
+ /**
52
+ * UIStore 销毁
53
+ */
54
+ /** @en
55
+ *
56
+ */
57
+ abstract onDestroy(): void;
58
+ }
@@ -0,0 +1,225 @@
1
+ import { EduUIStoreBase } from './base';
2
+ import { GroupDetail, GroupState } from 'agora-edu-core';
3
+ export declare class BreakoutUIStore extends EduUIStoreBase {
4
+ /**
5
+ * 每个分组学生最大15人
6
+ */
7
+ static readonly MAX_USER_COUNT = 15;
8
+ /**
9
+ * 总分组数
10
+ */
11
+ static readonly MAX_GROUP_COUNT = 20;
12
+ /**
13
+ * 当前分组序号
14
+ */
15
+ private _groupSeq;
16
+ /**
17
+ * 请求中状态
18
+ */
19
+ private _requestLock;
20
+ /**
21
+ * 分组邀请所对应的窗口ID
22
+ */
23
+ private _dialogsMap;
24
+ /**
25
+ * 消息提示
26
+ */
27
+ private _toasts;
28
+ /**
29
+ * 请求帮助列表
30
+ */
31
+ private _helpRequestList;
32
+ /**
33
+ * 分组窗口是否打开
34
+ */
35
+ private _dialogVisible;
36
+ /**
37
+ * 创建步骤:
38
+ * 0 选择自动\手动分组界面
39
+ * 1 分组界面
40
+ */
41
+ private _wizardState;
42
+ /**
43
+ * 正在加入分组中
44
+ */
45
+ private _isJoiningSubRoom;
46
+ /**
47
+ * 本地分组暂存信息
48
+ */
49
+ private _localGroups;
50
+ /**
51
+ * 正在加入分组
52
+ */
53
+ get isJoiningSubRoom(): boolean;
54
+ /**
55
+ * 请求列表
56
+ */
57
+ get helpRequestList(): {
58
+ groupName: string;
59
+ groupUuid: string;
60
+ }[];
61
+ /**
62
+ * 分组窗口
63
+ */
64
+ get breakoutDialogVisible(): boolean;
65
+ /**
66
+ * 当前创建步骤
67
+ */
68
+ get wizardState(): number;
69
+ /**
70
+ * 提示列表
71
+ */
72
+ get toasts(): {
73
+ text: string;
74
+ id: string;
75
+ }[];
76
+ /**
77
+ * 分组列表
78
+ */
79
+ get groups(): {
80
+ id: string;
81
+ text: string;
82
+ sort: number;
83
+ children: {
84
+ id: string;
85
+ text: string;
86
+ }[];
87
+ }[];
88
+ /**
89
+ * 分组详情
90
+ */
91
+ get groupDetails(): Map<string, GroupDetail>;
92
+ /**
93
+ * 学生列表
94
+ */
95
+ get students(): {
96
+ userUuid: string;
97
+ userName: string;
98
+ groupUuid: string | undefined;
99
+ }[];
100
+ /**
101
+ * 未分组学生列表
102
+ */
103
+ get ungroupedCount(): number;
104
+ get numberToBeAssigned(): number;
105
+ get mainRoomUsers(): Map<any, any>;
106
+ get mainRoomStudents(): Map<any, any>;
107
+ get mainRoomTeachers(): Map<any, any>;
108
+ get mainRoomAssistants(): Map<any, any>;
109
+ /**
110
+ * 未分组用户列表
111
+ */
112
+ get ungroupedList(): {
113
+ id: string;
114
+ text: string;
115
+ }[];
116
+ /**
117
+ * 当前是否开放分组
118
+ */
119
+ get groupState(): GroupState;
120
+ /**
121
+ * 当前房间
122
+ */
123
+ get currentSubRoomInfo(): GroupDetail | undefined;
124
+ /**
125
+ * 老师所在房间
126
+ */
127
+ get teacherGroupUuid(): string | undefined;
128
+ setDialogVisible(visible: boolean): void;
129
+ setWizardState(state: 0 | 1): void;
130
+ /**
131
+ * 获取学生所在组ID
132
+ * @param userUuid
133
+ */
134
+ getUserGroupUuid(userUuid: string): string | undefined;
135
+ /**
136
+ * 获取学生信息
137
+ * @param userUuid
138
+ */
139
+ getGroupUserByUuid(userUuid: string): import("agora-edu-core").GroupUser | undefined;
140
+ /**
141
+ * 设置分组用户列表
142
+ * @param groupUuid
143
+ * @param users
144
+ */
145
+ setGroupUsers(groupUuid: string, users: string[]): void;
146
+ /**
147
+ * 重命名组
148
+ * @param groupUuid 分组ID
149
+ * @param groupName 新分组名
150
+ */
151
+ renameGroupName(groupUuid: string, groupName: string): void;
152
+ getLastOrder(): number;
153
+ /**
154
+ * 新增组
155
+ */
156
+ addGroup(): void;
157
+ addToast(message: {
158
+ text: string;
159
+ }): void;
160
+ /**
161
+ * 删除组
162
+ * @param groupUuid 组id
163
+ */
164
+ removeGroup(groupUuid: string): void;
165
+ /**
166
+ * 移动用户
167
+ * @param fromGroupUuid
168
+ * @param toGroupUuid
169
+ * @param user
170
+ */
171
+ moveUserToGroup(fromGroupUuid: string, toGroupUuid: string, userUuid: string): void;
172
+ /**
173
+ * 用户组互换
174
+ * @param userUuid1
175
+ * @param userUuid2
176
+ */
177
+ interchangeGroup(userUuid1: string, userUuid2: string): void;
178
+ startGroup({ copyBoardState }: {
179
+ copyBoardState: boolean;
180
+ }): Promise<void>;
181
+ /**
182
+ * 结束分组
183
+ */
184
+ stopGroup(): Promise<void>;
185
+ /**
186
+ * 创建分组
187
+ * @param type 1 auto 2 manual MANUAL
188
+ * @param group
189
+ */
190
+ createGroups(type: 1 | 2, count: number): void;
191
+ /**
192
+ * 获取分组内当前人数
193
+ * @param groupUuid
194
+ * @returns
195
+ */
196
+ getGroupUserCount(groupUuid: string): number | undefined;
197
+ /**
198
+ * 加入子房间
199
+ * @param groupUuid
200
+ */
201
+ joinSubRoom(groupUuid: string): Promise<void>;
202
+ /**
203
+ * 发送广播消息
204
+ * @param message
205
+ * @returns
206
+ */
207
+ broadcastMessage(message: string): void;
208
+ acceptInvite(groupUuid: string): void;
209
+ rejectInvite(groupUuid: string): void;
210
+ leaveSubRoom(): Promise<void>;
211
+ private _isGroupExisted;
212
+ private _generateGroupName;
213
+ private _setConnectionState;
214
+ private _waitUntilLeft;
215
+ private _waitUntilConnected;
216
+ private _waitUntilJoined;
217
+ private _grantWhiteboard;
218
+ private _joinSubRoom;
219
+ private _copyRoomContent;
220
+ private _leaveSubRoom;
221
+ private _changeSubRoom;
222
+ private _handleClassroomEvent;
223
+ onInstall(): void;
224
+ onDestroy(): void;
225
+ }
@@ -0,0 +1,26 @@
1
+ import { CloudDriveResource, ConversionOption } from 'agora-edu-core';
2
+ import { CloudDriveResourceConvertProgress } from './struct';
3
+ export declare type CourseWareItem = {
4
+ resourceName: string;
5
+ resourceUuid: string;
6
+ ext: string;
7
+ url?: string;
8
+ size: number;
9
+ updateTime: number;
10
+ taskUuid?: string;
11
+ taskProgress?: CloudDriveResourceConvertProgress;
12
+ conversion?: ConversionOption;
13
+ initOpen?: boolean;
14
+ };
15
+ export declare const h5Type = "ah5";
16
+ export declare const linkType = "alf";
17
+ export declare const imageTypes: string[];
18
+ export declare const mediaVideoTypes: string[];
19
+ export declare const mediaAudioTypes: string[];
20
+ export declare const convertableTypes: string[];
21
+ export declare const convertableDynamicTypes: string[];
22
+ export declare const supportedTypes: string[];
23
+ export declare const createCloudResource: (data: CourseWareItem) => CloudDriveResource | never;
24
+ export declare const conversionOption: (ext: string, scale?: number | undefined) => ConversionOption | undefined;
25
+ export declare const extractFileExt: (name: string) => string | undefined;
26
+ export declare const fileExt2ContentType: (fileExt: string) => string;