fcr-ui-scene-mobile 3.4.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 (281) hide show
  1. package/lib/assets/ground_glass_bg.png +0 -0
  2. package/lib/base.d.ts +11 -0
  3. package/lib/base.js +39 -0
  4. package/lib/common/device-store.d.ts +86 -0
  5. package/lib/common/device-store.js +642 -0
  6. package/lib/common/device-stream-store.d.ts +26 -0
  7. package/lib/common/device-stream-store.js +298 -0
  8. package/lib/common/event-store.d.ts +124 -0
  9. package/lib/common/event-store.js +249 -0
  10. package/lib/common/global-context.d.ts +11 -0
  11. package/lib/common/global-context.js +9 -0
  12. package/lib/common/member-list-data-source.d.ts +28 -0
  13. package/lib/common/member-list-data-source.js +305 -0
  14. package/lib/common/participant-store.d.ts +195 -0
  15. package/lib/common/participant-store.js +1577 -0
  16. package/lib/common/security-store.d.ts +119 -0
  17. package/lib/common/security-store.js +948 -0
  18. package/lib/common/setting-store.d.ts +181 -0
  19. package/lib/common/setting-store.js +797 -0
  20. package/lib/common/type.d.ts +73 -0
  21. package/lib/common/type.js +22 -0
  22. package/lib/config/default-config.d.ts +32 -0
  23. package/lib/config/default-config.js +39 -0
  24. package/lib/config/setting-config.d.ts +16 -0
  25. package/lib/config/setting-config.js +17 -0
  26. package/lib/creator.d.ts +10 -0
  27. package/lib/creator.js +49 -0
  28. package/lib/global.d.ts +8 -0
  29. package/lib/hooks/meeting-time.d.ts +15 -0
  30. package/lib/hooks/meeting-time.js +92 -0
  31. package/lib/hooks/useIsNodePresent.d.ts +4 -0
  32. package/lib/hooks/useIsNodePresent.js +53 -0
  33. package/lib/hooks/useOnRefMount.d.ts +2 -0
  34. package/lib/hooks/useOnRefMount.js +27 -0
  35. package/lib/index.d.ts +6 -0
  36. package/lib/index.js +50 -0
  37. package/lib/mobile-global.css +28 -0
  38. package/lib/modules/action-bar/bottom-icons.d.ts +17 -0
  39. package/lib/modules/action-bar/bottom-icons.js +160 -0
  40. package/lib/modules/action-bar/context.d.ts +2 -0
  41. package/lib/modules/action-bar/context.js +9 -0
  42. package/lib/modules/action-bar/index.css +33 -0
  43. package/lib/modules/action-bar/index.d.ts +27 -0
  44. package/lib/modules/action-bar/index.js +46 -0
  45. package/lib/modules/action-bar/member-list-popup/attendee/index.css +130 -0
  46. package/lib/modules/action-bar/member-list-popup/attendee/index.d.ts +19 -0
  47. package/lib/modules/action-bar/member-list-popup/attendee/index.js +252 -0
  48. package/lib/modules/action-bar/member-list-popup/attendee/list.d.ts +1 -0
  49. package/lib/modules/action-bar/member-list-popup/attendee/list.js +82 -0
  50. package/lib/modules/action-bar/member-list-popup/index.css +35 -0
  51. package/lib/modules/action-bar/member-list-popup/index.d.ts +7 -0
  52. package/lib/modules/action-bar/member-list-popup/index.js +40 -0
  53. package/lib/modules/action-bar/member-list-popup/participant-more-actions/index.css +0 -0
  54. package/lib/modules/action-bar/member-list-popup/participant-more-actions/index.d.ts +12 -0
  55. package/lib/modules/action-bar/member-list-popup/participant-more-actions/index.js +58 -0
  56. package/lib/modules/action-bar/more-popup/index.css +71 -0
  57. package/lib/modules/action-bar/more-popup/index.d.ts +2 -0
  58. package/lib/modules/action-bar/more-popup/index.js +126 -0
  59. package/lib/modules/action-bar/store.d.ts +196 -0
  60. package/lib/modules/action-bar/store.js +1425 -0
  61. package/lib/modules/action-bar/type.d.ts +6 -0
  62. package/lib/modules/action-bar/type.js +13 -0
  63. package/lib/modules/action-bar/view.d.ts +2 -0
  64. package/lib/modules/action-bar/view.js +75 -0
  65. package/lib/modules/audio-stream/ index.d.ts +19 -0
  66. package/lib/modules/audio-stream/ index.js +109 -0
  67. package/lib/modules/audio-stream/index.d.ts +25 -0
  68. package/lib/modules/audio-stream/index.js +135 -0
  69. package/lib/modules/chat/chat-bar/index.css +97 -0
  70. package/lib/modules/chat/chat-bar/index.d.ts +12 -0
  71. package/lib/modules/chat/chat-bar/index.js +129 -0
  72. package/lib/modules/chat/chat-notification/index.css +71 -0
  73. package/lib/modules/chat/chat-notification/index.d.ts +3 -0
  74. package/lib/modules/chat/chat-notification/index.js +75 -0
  75. package/lib/modules/chat/chat-select/index.css +183 -0
  76. package/lib/modules/chat/chat-select/index.d.ts +12 -0
  77. package/lib/modules/chat/chat-select/index.js +223 -0
  78. package/lib/modules/chat/contex.d.ts +2 -0
  79. package/lib/modules/chat/contex.js +9 -0
  80. package/lib/modules/chat/demo-wrapper.d.ts +1 -0
  81. package/lib/modules/chat/demo-wrapper.js +42 -0
  82. package/lib/modules/chat/index.css +108 -0
  83. package/lib/modules/chat/index.d.ts +28 -0
  84. package/lib/modules/chat/index.dev.d.ts +1 -0
  85. package/lib/modules/chat/index.dev.js +58 -0
  86. package/lib/modules/chat/index.js +208 -0
  87. package/lib/modules/chat/message-list.d.ts +22 -0
  88. package/lib/modules/chat/message-list.js +617 -0
  89. package/lib/modules/chat/mock.d.ts +2 -0
  90. package/lib/modules/chat/mock.js +283 -0
  91. package/lib/modules/chat/store.d.ts +183 -0
  92. package/lib/modules/chat/store.js +1101 -0
  93. package/lib/modules/chat/util.d.ts +6 -0
  94. package/lib/modules/chat/util.js +69 -0
  95. package/lib/modules/chat/view.d.ts +11 -0
  96. package/lib/modules/chat/view.js +414 -0
  97. package/lib/modules/layout/bottom-drawer/index.css +34 -0
  98. package/lib/modules/layout/bottom-drawer/index.d.ts +3 -0
  99. package/lib/modules/layout/bottom-drawer/index.js +129 -0
  100. package/lib/modules/layout/components/Layout.d.ts +1 -0
  101. package/lib/modules/layout/components/Layout.js +98 -0
  102. package/lib/modules/layout/components/equip-request-popup/index.css +30 -0
  103. package/lib/modules/layout/components/equip-request-popup/index.d.ts +3 -0
  104. package/lib/modules/layout/components/equip-request-popup/index.js +78 -0
  105. package/lib/modules/layout/components/index.css +78 -0
  106. package/lib/modules/layout/components/index.d.ts +2 -0
  107. package/lib/modules/layout/components/index.js +25 -0
  108. package/lib/modules/layout/context.d.ts +2 -0
  109. package/lib/modules/layout/context.js +9 -0
  110. package/lib/modules/layout/drawer-header/index.css +27 -0
  111. package/lib/modules/layout/drawer-header/index.d.ts +10 -0
  112. package/lib/modules/layout/drawer-header/index.js +54 -0
  113. package/lib/modules/layout/index.css +22 -0
  114. package/lib/modules/layout/index.d.ts +8 -0
  115. package/lib/modules/layout/index.js +47 -0
  116. package/lib/modules/layout/store.d.ts +59 -0
  117. package/lib/modules/layout/store.js +379 -0
  118. package/lib/modules/layout/type.d.ts +65 -0
  119. package/lib/modules/layout/type.js +52 -0
  120. package/lib/modules/layout/view.d.ts +2 -0
  121. package/lib/modules/layout/view.js +10 -0
  122. package/lib/modules/member-layout/context.d.ts +2 -0
  123. package/lib/modules/member-layout/context.js +9 -0
  124. package/lib/modules/member-layout/data.d.ts +2 -0
  125. package/lib/modules/member-layout/data.js +304 -0
  126. package/lib/modules/member-layout/grid/index.css +98 -0
  127. package/lib/modules/member-layout/grid/index.d.ts +21 -0
  128. package/lib/modules/member-layout/grid/index.js +316 -0
  129. package/lib/modules/member-layout/index.css +88 -0
  130. package/lib/modules/member-layout/index.d.ts +8 -0
  131. package/lib/modules/member-layout/index.js +45 -0
  132. package/lib/modules/member-layout/share-toast/index.css +30 -0
  133. package/lib/modules/member-layout/share-toast/index.d.ts +5 -0
  134. package/lib/modules/member-layout/share-toast/index.js +43 -0
  135. package/lib/modules/member-layout/speaker/index.css +30 -0
  136. package/lib/modules/member-layout/speaker/index.d.ts +9 -0
  137. package/lib/modules/member-layout/speaker/index.js +28 -0
  138. package/lib/modules/member-layout/store.d.ts +70 -0
  139. package/lib/modules/member-layout/store.js +479 -0
  140. package/lib/modules/member-layout/user/index.css +121 -0
  141. package/lib/modules/member-layout/user/index.d.ts +34 -0
  142. package/lib/modules/member-layout/user/index.js +355 -0
  143. package/lib/modules/member-layout/user/types.d.ts +16 -0
  144. package/lib/modules/member-layout/user/types.js +6 -0
  145. package/lib/modules/member-layout/view.d.ts +2 -0
  146. package/lib/modules/member-layout/view.js +225 -0
  147. package/lib/modules/state-bar/context.d.ts +2 -0
  148. package/lib/modules/state-bar/context.js +9 -0
  149. package/lib/modules/state-bar/index.css +79 -0
  150. package/lib/modules/state-bar/index.d.ts +17 -0
  151. package/lib/modules/state-bar/index.js +55 -0
  152. package/lib/modules/state-bar/leaving-room/index.css +14 -0
  153. package/lib/modules/state-bar/leaving-room/index.d.ts +7 -0
  154. package/lib/modules/state-bar/leaving-room/index.js +38 -0
  155. package/lib/modules/state-bar/meeting-detail/index.css +72 -0
  156. package/lib/modules/state-bar/meeting-detail/index.d.ts +2 -0
  157. package/lib/modules/state-bar/meeting-detail/index.js +59 -0
  158. package/lib/modules/state-bar/meeting-detail/meeting-info/copy.d.ts +4 -0
  159. package/lib/modules/state-bar/meeting-detail/meeting-info/copy.js +81 -0
  160. package/lib/modules/state-bar/meeting-detail/meeting-info/index.css +92 -0
  161. package/lib/modules/state-bar/meeting-detail/meeting-info/index.d.ts +2 -0
  162. package/lib/modules/state-bar/meeting-detail/meeting-info/index.js +188 -0
  163. package/lib/modules/state-bar/meeting-detail/net-quality/index.css +27 -0
  164. package/lib/modules/state-bar/meeting-detail/net-quality/index.d.ts +2 -0
  165. package/lib/modules/state-bar/meeting-detail/net-quality/index.js +87 -0
  166. package/lib/modules/state-bar/store.d.ts +76 -0
  167. package/lib/modules/state-bar/store.js +561 -0
  168. package/lib/modules/state-bar/view.d.ts +7 -0
  169. package/lib/modules/state-bar/view.js +215 -0
  170. package/lib/modules/whiteboard/app.d.ts +2 -0
  171. package/lib/modules/whiteboard/app.js +41 -0
  172. package/lib/modules/whiteboard/components/control-bar/index.css +53 -0
  173. package/lib/modules/whiteboard/components/control-bar/index.d.ts +2 -0
  174. package/lib/modules/whiteboard/components/control-bar/index.js +156 -0
  175. package/lib/modules/whiteboard/components/control-bar/store.d.ts +35 -0
  176. package/lib/modules/whiteboard/components/control-bar/store.js +288 -0
  177. package/lib/modules/whiteboard/components/loading/index.css +76 -0
  178. package/lib/modules/whiteboard/components/loading/index.d.ts +2 -0
  179. package/lib/modules/whiteboard/components/loading/index.js +68 -0
  180. package/lib/modules/whiteboard/components/loading/loading.png +0 -0
  181. package/lib/modules/whiteboard/components/multi-window/index.css +65 -0
  182. package/lib/modules/whiteboard/components/multi-window/index.d.ts +5 -0
  183. package/lib/modules/whiteboard/components/multi-window/index.js +39 -0
  184. package/lib/modules/whiteboard/components/pagination/index.css +228 -0
  185. package/lib/modules/whiteboard/components/pagination/index.d.ts +15 -0
  186. package/lib/modules/whiteboard/components/pagination/index.js +163 -0
  187. package/lib/modules/whiteboard/components/pagination/store.d.ts +18 -0
  188. package/lib/modules/whiteboard/components/pagination/store.js +17 -0
  189. package/lib/modules/whiteboard/components/progress/index.d.ts +5 -0
  190. package/lib/modules/whiteboard/components/progress/index.js +43 -0
  191. package/lib/modules/whiteboard/components/progress/style.css +52 -0
  192. package/lib/modules/whiteboard/components/scene-pagination.d.ts +1 -0
  193. package/lib/modules/whiteboard/components/scene-pagination.js +30 -0
  194. package/lib/modules/whiteboard/components/switch-theme/index.css +98 -0
  195. package/lib/modules/whiteboard/components/switch-theme/index.d.ts +3 -0
  196. package/lib/modules/whiteboard/components/switch-theme/index.js +89 -0
  197. package/lib/modules/whiteboard/components/switch-theme/item.d.ts +9 -0
  198. package/lib/modules/whiteboard/components/switch-theme/item.js +53 -0
  199. package/lib/modules/whiteboard/components/switch-theme/libs.d.ts +4 -0
  200. package/lib/modules/whiteboard/components/switch-theme/libs.js +29 -0
  201. package/lib/modules/whiteboard/components/toolbar/ style.css +588 -0
  202. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.d.ts +5 -0
  203. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/color.js +38 -0
  204. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.d.ts +1 -0
  205. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +107 -0
  206. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.d.ts +1 -0
  207. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +59 -0
  208. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.d.ts +2 -0
  209. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +44 -0
  210. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.d.ts +4 -0
  211. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +89 -0
  212. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.d.ts +1 -0
  213. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +63 -0
  214. package/lib/modules/whiteboard/components/toolbar/components/history.d.ts +2 -0
  215. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -0
  216. package/lib/modules/whiteboard/components/toolbar/components/icons/fold-icon.d.ts +2 -0
  217. package/lib/modules/whiteboard/components/toolbar/components/icons/fold-icon.js +39 -0
  218. package/lib/modules/whiteboard/components/toolbar/components/icons/move-icon.d.ts +1 -0
  219. package/lib/modules/whiteboard/components/toolbar/components/icons/move-icon.js +66 -0
  220. package/lib/modules/whiteboard/components/toolbar/components/move-handle.d.ts +5 -0
  221. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +134 -0
  222. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.d.ts +4 -0
  223. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +106 -0
  224. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.d.ts +4 -0
  225. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +168 -0
  226. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  227. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +211 -0
  228. package/lib/modules/whiteboard/components/toolbar/index.d.ts +2 -0
  229. package/lib/modules/whiteboard/components/toolbar/index.js +183 -0
  230. package/lib/modules/whiteboard/components/toolbar/store.d.ts +51 -0
  231. package/lib/modules/whiteboard/components/toolbar/store.js +248 -0
  232. package/lib/modules/whiteboard/context.d.ts +69 -0
  233. package/lib/modules/whiteboard/context.js +36 -0
  234. package/lib/modules/whiteboard/index.d.ts +119 -0
  235. package/lib/modules/whiteboard/index.js +1134 -0
  236. package/lib/modules/whiteboard/style.css +143 -0
  237. package/lib/modules/whiteboard/type.d.ts +94 -0
  238. package/lib/modules/whiteboard/type.js +89 -0
  239. package/lib/modules/whiteboard/utils.d.ts +12 -0
  240. package/lib/modules/whiteboard/utils.js +36 -0
  241. package/lib/plugins/css-preset-plugin.d.ts +1 -0
  242. package/lib/plugins/css-preset-plugin.js +29 -0
  243. package/lib/plugins/module-dev-plugin.d.ts +12 -0
  244. package/lib/plugins/module-dev-plugin.js +183 -0
  245. package/lib/plugins/multi-lang-plugin.d.ts +1 -0
  246. package/lib/plugins/multi-lang-plugin.js +19 -0
  247. package/lib/plugins/rtm-plugin.d.ts +1 -0
  248. package/lib/plugins/rtm-plugin.js +5 -0
  249. package/lib/plugins/web-rtc-plugin.d.ts +1 -0
  250. package/lib/plugins/web-rtc-plugin.js +5 -0
  251. package/lib/translations/enUS.d.ts +1855 -0
  252. package/lib/translations/enUS.js +1895 -0
  253. package/lib/translations/zhCN.d.ts +1852 -0
  254. package/lib/translations/zhCN.js +1892 -0
  255. package/lib/type.d.ts +121 -0
  256. package/lib/type.js +46 -0
  257. package/lib/ui-manager.d.ts +32 -0
  258. package/lib/ui-manager.js +426 -0
  259. package/lib/ui-scene.d.ts +14 -0
  260. package/lib/ui-scene.js +141 -0
  261. package/lib/utilities/board-context.d.ts +4 -0
  262. package/lib/utilities/board-context.js +12 -0
  263. package/lib/utilities/constant.d.ts +286 -0
  264. package/lib/utilities/constant.js +271 -0
  265. package/lib/utilities/copyText.d.ts +2 -0
  266. package/lib/utilities/copyText.js +43 -0
  267. package/lib/utilities/extract.d.ts +5 -0
  268. package/lib/utilities/extract.js +117 -0
  269. package/lib/utilities/hooks.d.ts +14 -0
  270. package/lib/utilities/hooks.js +101 -0
  271. package/lib/utilities/mute-action.d.ts +4 -0
  272. package/lib/utilities/mute-action.js +48 -0
  273. package/lib/utilities/parameters.d.ts +7 -0
  274. package/lib/utilities/parameters.js +20 -0
  275. package/lib/utilities/regex.d.ts +1 -0
  276. package/lib/utilities/regex.js +14 -0
  277. package/lib/utilities/tools.d.ts +27 -0
  278. package/lib/utilities/tools.js +169 -0
  279. package/lib/utilities/useNamespace.d.ts +15 -0
  280. package/lib/utilities/useNamespace.js +66 -0
  281. package/package.json +63 -0
@@ -0,0 +1,73 @@
1
+ import { FcrStreamInfo, FcrUserInfo, FcrUserRole } from 'fcr-core/lib/type';
2
+ export declare enum FcrUIMemberSortingPriority {
3
+ MYSELF = 100,
4
+ HOST = 99,
5
+ CO_HOST = 98,
6
+ BOTH_OPEN = 97,
7
+ CAMERA_OPEN = 96,
8
+ MICROPHONE_OPEN = 95,
9
+ NONE = 0
10
+ }
11
+ export interface FcrUIMemberListDataSource {
12
+ list: FcrUIMemberData[];
13
+ resetList: (users: FcrUserInfo[], streams: Record<string, FcrStreamInfo[]>) => boolean;
14
+ add: (user: FcrUserInfo, streams: FcrStreamInfo[], isMySelf: boolean) => boolean;
15
+ update: (param: FcrStreamInfo | FcrUserInfo) => boolean;
16
+ updateWithStreamAdd: (stream: FcrStreamInfo) => boolean;
17
+ updateWithStreamRemove: (stream: FcrStreamInfo) => boolean;
18
+ delete: (user: FcrUserInfo) => boolean;
19
+ }
20
+ export interface FcrUIMemberData {
21
+ userId: string;
22
+ userInfo: FcrUserInfo & {
23
+ isBoardActive?: boolean;
24
+ };
25
+ streams: FcrStreamInfo[];
26
+ sortingPriority: FcrUIMemberSortingPriority;
27
+ }
28
+ export declare enum FcrUISessionKey {
29
+ REQUEST_OPEN_CAMERA = "REQUEST_OPEN_CAMERA",
30
+ REQUEST_OPEN_MICROPHONE = "REQUEST_OPEN_MICROPHONE"
31
+ }
32
+ export interface FcrUIRequestOpenDevicePayload {
33
+ sender: FcrUserInfo;
34
+ }
35
+ export interface FcrUIMemberListDataSource {
36
+ list: FcrUIMemberData[];
37
+ resetList: (users: FcrUserInfo[], streams: Record<string, FcrStreamInfo[]>) => boolean;
38
+ add: (user: FcrUserInfo, streams: FcrStreamInfo[], isMySelf: boolean) => boolean;
39
+ update: (param: FcrStreamInfo | FcrUserInfo) => boolean;
40
+ updateWithStreamAdd: (stream: FcrStreamInfo) => boolean;
41
+ updateWithStreamRemove: (stream: FcrStreamInfo) => boolean;
42
+ delete: (user: FcrUserInfo) => boolean;
43
+ }
44
+ export interface FcrUIMemberData {
45
+ userId: string;
46
+ userInfo: FcrUserInfo & {
47
+ isBoardActive?: boolean;
48
+ };
49
+ streams: FcrStreamInfo[];
50
+ sortingPriority: FcrUIMemberSortingPriority;
51
+ }
52
+ export interface ParticipantUser {
53
+ userId: string;
54
+ userName: string;
55
+ avatar?: string;
56
+ hasVideo: boolean;
57
+ hasAudio: boolean;
58
+ isHost: boolean;
59
+ shareScreenStreamId?: string;
60
+ isMe?: boolean;
61
+ isScreenSharing?: boolean;
62
+ audioDeviceType: 'none' | 'computer-mic' | 'phone-mic';
63
+ videoDeviceType: 'none' | 'computer-cam';
64
+ userType: 'normal' | 'phone' | 'meeting-system';
65
+ volume?: number;
66
+ userRole?: FcrUserRole;
67
+ isSpotlight?: boolean;
68
+ isBoardActive?: boolean;
69
+ allowedOperations?: string[];
70
+ isPin?: boolean;
71
+ hasShareScreenWithAudio?: boolean;
72
+ streamId?: string;
73
+ }
@@ -0,0 +1,22 @@
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.FcrUISessionKey = exports.FcrUIMemberSortingPriority = void 0;
8
+ var FcrUIMemberSortingPriority = exports.FcrUIMemberSortingPriority = /*#__PURE__*/function (FcrUIMemberSortingPriority) {
9
+ FcrUIMemberSortingPriority[FcrUIMemberSortingPriority["MYSELF"] = 100] = "MYSELF";
10
+ FcrUIMemberSortingPriority[FcrUIMemberSortingPriority["HOST"] = 99] = "HOST";
11
+ FcrUIMemberSortingPriority[FcrUIMemberSortingPriority["CO_HOST"] = 98] = "CO_HOST";
12
+ FcrUIMemberSortingPriority[FcrUIMemberSortingPriority["BOTH_OPEN"] = 97] = "BOTH_OPEN";
13
+ FcrUIMemberSortingPriority[FcrUIMemberSortingPriority["CAMERA_OPEN"] = 96] = "CAMERA_OPEN";
14
+ FcrUIMemberSortingPriority[FcrUIMemberSortingPriority["MICROPHONE_OPEN"] = 95] = "MICROPHONE_OPEN";
15
+ FcrUIMemberSortingPriority[FcrUIMemberSortingPriority["NONE"] = 0] = "NONE";
16
+ return FcrUIMemberSortingPriority;
17
+ }({});
18
+ var FcrUISessionKey = exports.FcrUISessionKey = /*#__PURE__*/function (FcrUISessionKey) {
19
+ FcrUISessionKey["REQUEST_OPEN_CAMERA"] = "REQUEST_OPEN_CAMERA";
20
+ FcrUISessionKey["REQUEST_OPEN_MICROPHONE"] = "REQUEST_OPEN_MICROPHONE";
21
+ return FcrUISessionKey;
22
+ }({});
@@ -0,0 +1,32 @@
1
+ export declare const cameraVideoHighStreamEncoderLowConfig: {
2
+ dimensions: {
3
+ width: number;
4
+ height: number;
5
+ };
6
+ frameRate: number;
7
+ bitrate: number;
8
+ };
9
+ export declare const cameraVideoLowStreamEncoderConfig: {
10
+ dimensions: {
11
+ width: number;
12
+ height: number;
13
+ };
14
+ frameRate: number;
15
+ bitrate: number;
16
+ };
17
+ export declare const screenCaptureHighStreamEncoderConfig: {
18
+ dimensions: {
19
+ width: number;
20
+ height: number;
21
+ };
22
+ frameRate: number;
23
+ bitrate: number;
24
+ };
25
+ export declare const screenCaptureLowStreamEncoderConfig: {
26
+ dimensions: {
27
+ width: number;
28
+ height: number;
29
+ };
30
+ frameRate: number;
31
+ bitrate: number;
32
+ };
@@ -0,0 +1,39 @@
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.screenCaptureLowStreamEncoderConfig = exports.screenCaptureHighStreamEncoderConfig = exports.cameraVideoLowStreamEncoderConfig = exports.cameraVideoHighStreamEncoderLowConfig = void 0;
8
+ var cameraVideoHighStreamEncoderLowConfig = exports.cameraVideoHighStreamEncoderLowConfig = {
9
+ dimensions: {
10
+ width: 1280,
11
+ height: 720
12
+ },
13
+ frameRate: 30,
14
+ bitrate: 1500
15
+ };
16
+ var cameraVideoLowStreamEncoderConfig = exports.cameraVideoLowStreamEncoderConfig = {
17
+ dimensions: {
18
+ width: 480,
19
+ height: 270
20
+ },
21
+ frameRate: 15,
22
+ bitrate: 350
23
+ };
24
+ var screenCaptureHighStreamEncoderConfig = exports.screenCaptureHighStreamEncoderConfig = {
25
+ dimensions: {
26
+ width: 1920,
27
+ height: 1080
28
+ },
29
+ frameRate: 15,
30
+ bitrate: 1200
31
+ };
32
+ var screenCaptureLowStreamEncoderConfig = exports.screenCaptureLowStreamEncoderConfig = {
33
+ dimensions: {
34
+ width: 320,
35
+ height: 240
36
+ },
37
+ frameRate: 15,
38
+ bitrate: 400
39
+ };
@@ -0,0 +1,16 @@
1
+ export declare const defaultCameraVideoEncoderConfig: {
2
+ dimensions: {
3
+ width: number;
4
+ height: number;
5
+ };
6
+ frameRate: number;
7
+ bitrate: number;
8
+ };
9
+ export declare const hdCameraVideoEncoderConfig: {
10
+ dimensions: {
11
+ width: number;
12
+ height: number;
13
+ };
14
+ frameRate: number;
15
+ bitrate: number;
16
+ };
@@ -0,0 +1,17 @@
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.hdCameraVideoEncoderConfig = exports.defaultCameraVideoEncoderConfig = void 0;
8
+ var _defaultConfig = require("./default-config");
9
+ var defaultCameraVideoEncoderConfig = exports.defaultCameraVideoEncoderConfig = _defaultConfig.cameraVideoHighStreamEncoderLowConfig;
10
+ var hdCameraVideoEncoderConfig = exports.hdCameraVideoEncoderConfig = {
11
+ dimensions: {
12
+ width: 1920,
13
+ height: 1080
14
+ },
15
+ frameRate: 20,
16
+ bitrate: 2500
17
+ };
@@ -0,0 +1,10 @@
1
+ import { FcrUIDefaultScene } from './ui-scene';
2
+ import { FcrUISceneCancelCallback, FcrUISceneConfig, FcrUISceneCreatorConfig, FcrUISceneFailureCallback, FcrUISceneSuccessCallback, FcrUISettingConfig } from './type';
3
+ export declare class FcrUISceneCreator {
4
+ private _config;
5
+ protected logger: import("agora-foundation/lib/logger").Logger;
6
+ settingConfig: FcrUISettingConfig;
7
+ constructor(_config: FcrUISceneCreatorConfig);
8
+ launch(config: FcrUISceneConfig, onCancel: FcrUISceneCancelCallback, onSuccess: FcrUISceneSuccessCallback, onFailure: FcrUISceneFailureCallback, dom: HTMLElement): FcrUIDefaultScene;
9
+ getSettingConfig(): FcrUISettingConfig;
10
+ }
package/lib/creator.js ADDED
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FcrUISceneCreator = void 0;
9
+ require("core-js/modules/es.date.to-json.js");
10
+ require("core-js/modules/es.json.stringify.js");
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _logger = require("agora-foundation/lib/logger");
15
+ var _uiScene = require("./ui-scene");
16
+ var FcrUISceneCreator = exports.FcrUISceneCreator = /*#__PURE__*/function () {
17
+ function FcrUISceneCreator(_config) {
18
+ (0, _classCallCheck2["default"])(this, FcrUISceneCreator);
19
+ (0, _defineProperty2["default"])(this, "logger", (0, _logger.getLogger)());
20
+ this._config = _config;
21
+ this.logger.info("[FcrUISceneCreator] creator config: ".concat(JSON.stringify(_config)));
22
+ this.settingConfig = {
23
+ media: {
24
+ autoConnectAudio: false,
25
+ microphoneExpectedOff: false,
26
+ cameraExpectedOff: false
27
+ }
28
+ };
29
+ }
30
+ return (0, _createClass2["default"])(FcrUISceneCreator, [{
31
+ key: "launch",
32
+ value: function launch(config, onCancel, onSuccess, onFailure, dom) {
33
+ this.logger.info("[FcrUISceneCreator] scene config: ".concat(JSON.stringify(config)));
34
+ var scene = new _uiScene.FcrUIDefaultScene(config, this._config, dom);
35
+ scene.addObserver({
36
+ onLaunchSuccess: onSuccess,
37
+ onLaunchFailure: onFailure,
38
+ onLaunchCancel: onCancel
39
+ });
40
+ scene.launch();
41
+ return scene;
42
+ }
43
+ }, {
44
+ key: "getSettingConfig",
45
+ value: function getSettingConfig() {
46
+ return this.settingConfig;
47
+ }
48
+ }]);
49
+ }();
@@ -0,0 +1,8 @@
1
+ declare module '*.css';
2
+ declare module '*.svga';
3
+ declare module '*.svg';
4
+ declare module '*.mp3';
5
+ declare module '*.mp4';
6
+ declare module '*.png';
7
+ declare module '*.gif';
8
+ declare module '*.jpg';
@@ -0,0 +1,15 @@
1
+ import { FcrRoomSchedule } from 'fcr-core/lib/type';
2
+ declare enum MeetingStatus {
3
+ NORMAL = "normal",
4
+ SOON_TO_END = "soon2end",
5
+ OVERTIME = "overtime"
6
+ }
7
+ export declare const useMeetingTime: (scheduleInfo: FcrRoomSchedule | undefined) => {
8
+ totalHourText: string;
9
+ totalMinuteText: string;
10
+ status: MeetingStatus;
11
+ meetingTime: string;
12
+ totalHours: number;
13
+ totalMins: number;
14
+ };
15
+ export {};
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useMeetingTime = void 0;
9
+ require("core-js/modules/es.error.to-string.js");
10
+ require("core-js/modules/es.array.concat.js");
11
+ require("core-js/modules/es.date.now.js");
12
+ require("core-js/modules/es.date.to-string.js");
13
+ require("core-js/modules/es.object.to-string.js");
14
+ require("core-js/modules/es.regexp.to-string.js");
15
+ require("core-js/modules/es.string.pad-start.js");
16
+ require("core-js/modules/web.timers.js");
17
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
18
+ var _react = require("react");
19
+ var _dayjs = _interopRequireDefault(require("dayjs"));
20
+ var _duration = _interopRequireDefault(require("dayjs/plugin/duration"));
21
+ var _i18n = require("agora-ui-foundation/lib/i18n");
22
+ var MeetingStatus = /*#__PURE__*/function (MeetingStatus) {
23
+ MeetingStatus["NORMAL"] = "normal";
24
+ MeetingStatus["SOON_TO_END"] = "soon2end";
25
+ MeetingStatus["OVERTIME"] = "overtime";
26
+ return MeetingStatus;
27
+ }(MeetingStatus || {});
28
+ _dayjs["default"].extend(_duration["default"]);
29
+ var useMeetingTime = exports.useMeetingTime = function useMeetingTime(scheduleInfo) {
30
+ var t = (0, _i18n.useI18n)();
31
+ var _useState = (0, _react.useState)(MeetingStatus.NORMAL),
32
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
33
+ status = _useState2[0],
34
+ setStatus = _useState2[1];
35
+ var _useState3 = (0, _react.useState)('00:00'),
36
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
37
+ meetingTime = _useState4[0],
38
+ setMeetingTime = _useState4[1];
39
+ var _useMemo = (0, _react.useMemo)(function () {
40
+ if (!scheduleInfo) return [0, 0];
41
+ var dr = _dayjs["default"].duration(scheduleInfo.duration);
42
+ var asHours = Math.floor(dr.asHours());
43
+ var hours = 0;
44
+ var mins = 0;
45
+ if (asHours >= 2) {
46
+ hours = asHours;
47
+ mins = Math.ceil(dr.asMinutes() - asHours * 60);
48
+ } else {
49
+ hours = 0;
50
+ mins = Math.ceil(dr.asMinutes());
51
+ }
52
+ return [hours, mins];
53
+ }, [scheduleInfo]),
54
+ _useMemo2 = (0, _slicedToArray2["default"])(_useMemo, 2),
55
+ totalHours = _useMemo2[0],
56
+ totalMins = _useMemo2[1];
57
+ (0, _react.useEffect)(function () {
58
+ if (!scheduleInfo) return;
59
+ var timer = setInterval(function () {
60
+ var meetingDuration = Math.floor((Date.now() - scheduleInfo.startTime) / 1000);
61
+ var scheduleDuration = scheduleInfo.duration / 1000;
62
+ var remainTime = scheduleDuration - meetingDuration;
63
+ var currentStatus = remainTime > 600 ? MeetingStatus.NORMAL : remainTime > 0 ? MeetingStatus.SOON_TO_END : MeetingStatus.OVERTIME;
64
+ setStatus(currentStatus);
65
+ var showHour = meetingDuration / 60 > 120;
66
+ var h = meetingDuration / 3600;
67
+ var m = showHour ? meetingDuration % 3600 / 60 : meetingDuration / 60;
68
+ var s = meetingDuration % 60;
69
+ var hours = Math.floor(Math.max(h, 0)).toString().padStart(2, '0');
70
+ var mins = Math.floor(Math.max(m, 0)).toString().padStart(2, '0');
71
+ var seconds = Math.max(s, 0).toString().padStart(2, '0');
72
+ if (showHour) {
73
+ setMeetingTime("".concat(hours, ":").concat(mins, ":").concat(seconds));
74
+ } else {
75
+ setMeetingTime("".concat(mins, ":").concat(seconds));
76
+ }
77
+ }, 1000);
78
+ return function () {
79
+ timer && clearInterval(timer);
80
+ };
81
+ }, [scheduleInfo]);
82
+ var totalHourText = totalHours > 0 ? "".concat(totalHours).concat(t('fmt_statusbar_label_hour')) : '';
83
+ var totalMinuteText = totalMins > 0 ? "".concat(totalMins).concat(t('fmt_statusbar_label_minutes')) : '';
84
+ return {
85
+ totalHourText: totalHourText,
86
+ totalMinuteText: totalMinuteText,
87
+ status: status,
88
+ meetingTime: meetingTime,
89
+ totalHours: totalHours,
90
+ totalMins: totalMins
91
+ };
92
+ };
@@ -0,0 +1,4 @@
1
+ export declare function useIsNodePresent(selector: string): {
2
+ isNodePresent: boolean;
3
+ targetElement: HTMLElement | null;
4
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useIsNodePresent = useIsNodePresent;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = require("react");
11
+ // 自定义Hook,通过传入选择器来检测对应的DOM节点是否已经出现
12
+ function useIsNodePresent(selector) {
13
+ // 使用useState来跟踪节点是否已经出现(初始化为false)
14
+ var _useState = (0, _react.useState)(false),
15
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
16
+ isNodePresent = _useState2[0],
17
+ setIsNodePresent = _useState2[1];
18
+ var _useState3 = (0, _react.useState)(null),
19
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
20
+ targetElement = _useState4[0],
21
+ setTargetElement = _useState4[1];
22
+ (0, _react.useEffect)(function () {
23
+ var checkNodePresence = function checkNodePresence() {
24
+ var element = document.querySelector(selector);
25
+ if (element) {
26
+ setTargetElement(element);
27
+ // 如果找到了对应的节点,设置状态为true,表示节点已经出现
28
+ setIsNodePresent(true);
29
+ }
30
+ };
31
+
32
+ // 首次渲染时检查一次
33
+ checkNodePresence();
34
+
35
+ // 使用MutationObserver来监听DOM变化,当节点被添加到DOM时能检测到
36
+ var observer = new MutationObserver(checkNodePresence);
37
+ if (document.body) {
38
+ observer.observe(document.body, {
39
+ childList: true,
40
+ subtree: true,
41
+ attributes: true
42
+ });
43
+ return function () {
44
+ // 组件卸载时,停止观察
45
+ observer.disconnect();
46
+ };
47
+ }
48
+ }, [selector]);
49
+ return {
50
+ isNodePresent: isNodePresent,
51
+ targetElement: targetElement
52
+ };
53
+ }
@@ -0,0 +1,2 @@
1
+ import { RefObject } from 'react';
2
+ export declare function useOnRefMount(ref: RefObject<HTMLElement>, callback: Function): boolean;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useOnRefMount = useOnRefMount;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = require("react");
11
+ function useOnRefMount(ref, callback) {
12
+ // 使用useState来跟踪ref是否已经挂载(即ref.current是否已经有值)
13
+ var _useState = (0, _react.useState)(false),
14
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
15
+ isMounted = _useState2[0],
16
+ setIsMounted = _useState2[1];
17
+ (0, _react.useEffect)(function () {
18
+ if (ref.current) {
19
+ // 当ref.current存在,说明DOM节点已经渲染完毕,设置为已挂载状态,并执行回调函数
20
+ setIsMounted(true);
21
+ if (callback) {
22
+ callback(ref.current);
23
+ }
24
+ }
25
+ }, [ref, callback]);
26
+ return isMounted;
27
+ }
package/lib/index.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ export { FcrUISceneCreator } from './creator';
2
+ export { FcrUIExitReason, FcrUserRole, FcrRegion, FcrStreamLatencyLevel } from './type';
3
+ import './plugins/css-preset-plugin';
4
+ import './plugins/multi-lang-plugin';
5
+ import './plugins/rtm-plugin';
6
+ import './plugins/web-rtc-plugin';
package/lib/index.js ADDED
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "FcrRegion", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _type.FcrRegion;
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "FcrStreamLatencyLevel", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _type.FcrStreamLatencyLevel;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "FcrUIExitReason", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _type.FcrUIExitReason;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "FcrUISceneCreator", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _creator.FcrUISceneCreator;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "FcrUserRole", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _type.FcrUserRole;
36
+ }
37
+ });
38
+ var _mobx = require("mobx");
39
+ var _dayjs = _interopRequireDefault(require("dayjs"));
40
+ var _duration = _interopRequireDefault(require("dayjs/plugin/duration"));
41
+ var _creator = require("./creator");
42
+ var _type = require("./type");
43
+ require("./plugins/css-preset-plugin");
44
+ require("./plugins/multi-lang-plugin");
45
+ require("./plugins/rtm-plugin");
46
+ require("./plugins/web-rtc-plugin");
47
+ (0, _mobx.configure)({
48
+ enforceActions: 'always'
49
+ });
50
+ _dayjs["default"].extend(_duration["default"]);
@@ -0,0 +1,28 @@
1
+ .fcr-mobile-scope .fcr-member-layout,
2
+ .fcr-mobile-scope .fcr-participant__list {
3
+ overflow: overlay;
4
+ scrollbar-width: thin;
5
+ scrollbar-color: var(--fcr_ui_scene_btn3) transparent;
6
+ -webkit-overflow-scrolling: touch;
7
+ }
8
+
9
+ @supports (bottom: env(safe-area-inset-bottom)) {
10
+ .fcr-bottom-action-main-wrap {
11
+ padding-bottom: env(safe-area-inset-bottom);
12
+ }
13
+ }
14
+
15
+ @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
16
+ .fcr-bottom-action-main-wrap {
17
+ border: none;
18
+ }
19
+ }
20
+
21
+ @media (-webkit-max-device-pixel-ratio: 1.5),
22
+ (-webkit-min-device-pixel-ratio: 1.2),
23
+ (max-resolution: 1.5dppx),
24
+ (min-resolution: 1.2dppx) {
25
+ .fcr-bottom-action-main-wrap {
26
+ border: none;
27
+ }
28
+ }
@@ -0,0 +1,17 @@
1
+ export declare const MobileMoreIcon: ({ size }: {
2
+ size?: number;
3
+ className?: string;
4
+ }) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const ChatIcon: ({ size, unreadMsgCnt }: {
6
+ unreadMsgCnt: number;
7
+ size?: number;
8
+ className?: string;
9
+ }) => import("react/jsx-runtime").JSX.Element;
10
+ export declare const PeopleIcon: ({ size, setParticipantsPopoverOpened, count, }: {
11
+ size?: number;
12
+ className?: string;
13
+ setParticipantsPopoverOpened: (val: boolean) => void;
14
+ count: number;
15
+ }) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const FcrMobileMicroCrash: () => import("react/jsx-runtime").JSX.Element;
17
+ export declare const FcrMobileVideoCrash: () => import("react/jsx-runtime").JSX.Element;