@zegocloud/zego-uikit-prebuilt 1.0.1 → 1.0.2

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 (30) hide show
  1. package/index.html +3 -3
  2. package/package.json +1 -1
  3. package/sdk/model/index.d.ts +35 -1
  4. package/sdk/modules/index.d.ts +13 -2
  5. package/sdk/modules/tools/UserListManager.d.ts +27 -0
  6. package/sdk/modules/{util.d.ts → tools/util.d.ts} +0 -0
  7. package/sdk/util.d.ts +3 -0
  8. package/sdk/view/components/zegoSetting/index.d.ts +2 -0
  9. package/sdk/view/index.d.ts +2 -0
  10. package/sdk/view/pages/ZegoBrowserCheck/index.d.ts +1 -1
  11. package/sdk/view/pages/ZegoBrowserCheckMobile/index.d.ts +0 -1
  12. package/sdk/view/pages/ZegoRoom/components/zegoGridLayout.d.ts +5 -0
  13. package/sdk/view/pages/ZegoRoom/components/zegoOne2One.d.ts +8 -12
  14. package/sdk/view/pages/ZegoRoom/components/zegoOthersVideo.d.ts +5 -0
  15. package/sdk/view/pages/ZegoRoom/components/zegoRoomInvite.d.ts +9 -0
  16. package/sdk/view/pages/ZegoRoom/components/zegoSidebarLayout.d.ts +6 -0
  17. package/sdk/view/pages/ZegoRoom/components/zegoUserList.d.ts +18 -0
  18. package/sdk/view/pages/ZegoRoom/components/zegoVideoPlayer.d.ts +12 -0
  19. package/sdk/view/pages/ZegoRoom/index.d.ts +24 -6
  20. package/sdk/view/pages/ZegoRoomMobile/components/zegoGrid.d.ts +5 -0
  21. package/sdk/view/pages/ZegoRoomMobile/components/zegoLayout.d.ts +13 -0
  22. package/sdk/view/pages/ZegoRoomMobile/components/zegoManage.d.ts +10 -0
  23. package/sdk/view/pages/ZegoRoomMobile/components/zegoMore.d.ts +10 -0
  24. package/sdk/view/pages/ZegoRoomMobile/components/zegoOne2One.d.ts +7 -14
  25. package/sdk/view/pages/ZegoRoomMobile/components/zegoSidebar.d.ts +8 -0
  26. package/sdk/view/pages/ZegoRoomMobile/components/zegoUserList.d.ts +3 -3
  27. package/sdk/view/pages/ZegoRoomMobile/components/zegoUserVideo.d.ts +22 -0
  28. package/sdk/view/pages/ZegoRoomMobile/context/showManage.d.ts +7 -0
  29. package/sdk/view/pages/ZegoRoomMobile/index.d.ts +17 -8
  30. package/zego-uikit-prebuilt.js +703 -32
package/index.html CHANGED
@@ -62,15 +62,15 @@
62
62
  To create a production bundle, use `npm run build` or `yarn build`.
63
63
  -->
64
64
  </body>
65
- <script src="./index.umd.js"></script>
65
+ <script src="./zego-uikit-prebuilt.js"></script>
66
66
  <script>
67
67
  // get token
68
68
  function generateToken(tokenServerUrl, userID, roomID, userName) {
69
69
  // Obtain the token interface provided by the App Server
70
70
  return fetch(
71
71
  `${tokenServerUrl}/access_token?userID=${userID}&userName=${userName}&roomID=${roomID}&expired_ts=7200`, {
72
- method: 'GET',
73
- }
72
+ method: 'GET',
73
+ }
74
74
  ).then((res) => res.json());
75
75
  }
76
76
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zegocloud/zego-uikit-prebuilt",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "zegocloud prebuilt meeting webrtc sdk",
5
5
  "main": "./zego-uikit-prebuilt.js",
6
6
  "typings": "./sdk/index.d.ts",
@@ -1,11 +1,13 @@
1
1
  import { ZegoUser, ZegoBroadcastMessageInfo } from "zego-express-engine-webrtm/sdk/code/zh/ZegoExpressEntity.d";
2
2
  import { ZegoCloudRTCCore } from "../modules";
3
+ import { ZegoCloudUserList } from "../modules/tools/UserListManager";
3
4
  export interface ZegoCloudRemoteMedia {
4
5
  media: MediaStream;
5
6
  fromUser: ZegoUser;
6
7
  micStatus: "OPEN" | "MUTE";
7
8
  cameraStatus: "OPEN" | "MUTE";
8
9
  state: "NO_PLAY" | "PLAY_REQUESTING" | "PLAYING";
10
+ streamID: string;
9
11
  }
10
12
  export interface ZegoCloudRoomConfig {
11
13
  container?: HTMLElement | undefined | null;
@@ -13,6 +15,7 @@ export interface ZegoCloudRoomConfig {
13
15
  title?: string;
14
16
  invitationLink?: string;
15
17
  };
18
+ facingMode?: "user" | "environment";
16
19
  showPreJoinView?: boolean;
17
20
  turnOnMicrophoneWhenJoining?: boolean;
18
21
  turnOnCameraWhenJoining?: boolean;
@@ -25,14 +28,19 @@ export interface ZegoCloudRoomConfig {
25
28
  showUserJoinAndLeave?: boolean;
26
29
  showTextChat?: boolean;
27
30
  };
28
- leaveRoomCallback?: () => void;
29
31
  joinRoomCallback?: () => void;
32
+ leaveRoomCallback?: () => void;
33
+ userUpdateCallback?: (type: "ADD" | "DELETE", user: ZegoUser[]) => void;
30
34
  roomTimerDisplayed?: boolean;
31
35
  branding?: {
32
36
  logoURL?: string;
33
37
  };
34
38
  showLeavingView?: boolean;
35
39
  localizationJSON?: object;
40
+ maxUsers?: number;
41
+ layout?: "Sidebar" | "Grid" | "Default";
42
+ showNonVideoUser?: boolean;
43
+ showOnlyAudioUser?: boolean;
36
44
  }
37
45
  export interface ZegoBrowserCheckProp {
38
46
  core: ZegoCloudRTCCore;
@@ -57,10 +65,36 @@ export interface ZegoSettingsProps {
57
65
  cam: string | undefined;
58
66
  speaker: string | undefined;
59
67
  videoResolve: string | undefined;
68
+ showNonVideoUser: boolean | undefined;
60
69
  };
61
70
  closeCallBack?: () => void;
62
71
  onMicChange: (deviceID: string) => void;
63
72
  onCameraChange: (deviceID: string) => void;
64
73
  onSpeakerChange: (deviceID: string) => void;
65
74
  onVideoResolutionChange: (level: string) => void;
75
+ onShowNonVideoChange: (selected: boolean) => void;
76
+ }
77
+ export interface ZegoGridLayoutProps {
78
+ userList: ZegoCloudUserList;
79
+ videoShowNumber: number;
80
+ gridRowNumber?: number;
81
+ selfInfo?: {
82
+ userID: string;
83
+ };
84
+ handleSetPin?: Function;
85
+ soundLevel?: SoundLevelMap;
86
+ }
87
+ export interface ZegoSidebarLayoutProps {
88
+ handleSetPin?: Function;
89
+ userList: ZegoCloudUserList;
90
+ videoShowNumber: number;
91
+ selfInfo: {
92
+ userID: string;
93
+ };
94
+ soundLevel?: SoundLevelMap;
95
+ }
96
+ export interface SoundLevelMap {
97
+ [userID: string]: {
98
+ [streamID: string]: number;
99
+ };
66
100
  }
@@ -1,11 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  import { ZegoExpressEngine } from "zego-express-engine-webrtc";
3
- import { ZegoDeviceInfo, ZegoLocalStreamConfig, ZegoPublishStreamConfig, ZegoServerResponse } from "zego-express-engine-webrtc/sdk/code/zh/ZegoExpressEntity.web";
3
+ import { ZegoDeviceInfo, ZegoLocalStreamConfig, ZegoPublishStreamConfig, ZegoServerResponse, ZegoSoundLevelInfo } from "zego-express-engine-webrtc/sdk/code/zh/ZegoExpressEntity.web";
4
4
  import { ZegoUser, ZegoBroadcastMessageInfo } from "zego-express-engine-webrtm/sdk/code/zh/ZegoExpressEntity.d";
5
5
  import { ZegoCloudRemoteMedia, ZegoCloudRoomConfig } from "../model";
6
+ import { ZegoCloudUserList, ZegoCloudUserListManager } from "./tools/UserListManager";
6
7
  export declare class ZegoCloudRTCCore {
7
8
  static _instance: ZegoCloudRTCCore;
8
9
  static _zg: ZegoExpressEngine;
10
+ zum: ZegoCloudUserListManager;
9
11
  _expressConfig: {
10
12
  appID: number;
11
13
  userID: string;
@@ -29,7 +31,12 @@ export declare class ZegoCloudRTCCore {
29
31
  checkWebRTC(): Promise<boolean>;
30
32
  _config: ZegoCloudRoomConfig;
31
33
  setConfig(config: ZegoCloudRoomConfig): void;
34
+ setPin(userID?: string, pined?: boolean): void;
35
+ setMaxScreenNum(num: number): Promise<void>;
36
+ setSidebarLayOut(enable: boolean): Promise<void>;
37
+ setShowNonVideo(enable: boolean): Promise<void>;
32
38
  getCameras(): Promise<ZegoDeviceInfo[]>;
39
+ useVideoDevice(localStream: MediaStream, deviceID: string): Promise<ZegoServerResponse>;
33
40
  getMicrophones(): Promise<ZegoDeviceInfo[]>;
34
41
  getSpeakers(): Promise<ZegoDeviceInfo[]>;
35
42
  setVolume(media: HTMLVideoElement, volume: number): void;
@@ -44,14 +51,18 @@ export declare class ZegoCloudRTCCore {
44
51
  mutePublishStreamAudio(localStream: MediaStream, enable: boolean): Promise<boolean>;
45
52
  muteMicrophone(enable: boolean): Promise<boolean>;
46
53
  enterRoom(): Promise<number>;
47
- publishLocalStream(media: MediaStream): boolean;
54
+ publishLocalStream(media: MediaStream): boolean | string;
48
55
  replaceTrack(media: MediaStream, mediaStreamTrack: MediaStreamTrack): Promise<ZegoServerResponse>;
56
+ private subscribeUserListCallBack;
57
+ subscribeUserList(callback: (userList: ZegoCloudUserList) => void): void;
49
58
  private onRemoteMediaUpdateCallBack;
50
59
  onRemoteMediaUpdate(func: (updateType: "DELETE" | "ADD" | "UPDATE", streamList: ZegoCloudRemoteMedia[]) => void): void;
51
60
  private onNetworkStatusQualityCallBack;
52
61
  onNetworkStatusQuality(func: (roomID: string, level: number) => void): void;
53
62
  private onRemoteUserUpdateCallBack;
54
63
  onRemoteUserUpdate(func: (roomID: string, updateType: "DELETE" | "ADD", user: ZegoUser[]) => void): void;
64
+ private onSoundLevelUpdateCallBack;
65
+ onSoundLevelUpdate(func: (soundLevelList: ZegoSoundLevelInfo[]) => void): void;
55
66
  sendRoomMessage(message: string): Promise<import("zego-express-engine-webrtm/sdk/code/zh/ZegoExpressEntity.d").ZegoServerResponse>;
56
67
  private onRoomMessageUpdateCallBack;
57
68
  onRoomMessageUpdate(func: (roomID: string, info: ZegoBroadcastMessageInfo[]) => void): void;
@@ -0,0 +1,27 @@
1
+ import { ZegoExpressEngine } from "zego-express-engine-webrtc";
2
+ import { ZegoUser } from "zego-express-engine-webrtm/sdk/code/zh/ZegoExpressEntity.d";
3
+ import { ZegoCloudRemoteMedia } from "../../model";
4
+ export declare type ZegoCloudUserList = ZegoCloudUser[];
5
+ export declare type ZegoCloudUser = ZegoUser & {
6
+ pin: boolean;
7
+ overScreenMuteVideo?: boolean;
8
+ streamList: ZegoCloudRemoteMedia[];
9
+ };
10
+ export declare class ZegoCloudUserListManager {
11
+ private zg;
12
+ constructor(zg: ZegoExpressEngine);
13
+ showNonVideo: boolean;
14
+ screenNumber: number;
15
+ sidebarEnabled: boolean;
16
+ remoteUserList: ZegoCloudUserList;
17
+ setPin(userID?: string, pined?: boolean): void;
18
+ setShowNonVideo(enable: boolean): Promise<boolean>;
19
+ setMaxScreenNum(num: number): Promise<boolean>;
20
+ setSidebarLayOut(enable: boolean): Promise<boolean>;
21
+ updateStream(): Promise<boolean>;
22
+ openVideo(user: ZegoCloudUser): Promise<void>;
23
+ muteVideo(user: ZegoCloudUser): Promise<void>;
24
+ userUpdate(roomID: string, updateType: "DELETE" | "ADD", users: ZegoUser[]): void;
25
+ streamNumUpdate(updateType: "DELETE" | "ADD" | "UPDATE", streamList: ZegoCloudRemoteMedia[]): void;
26
+ clearUserList(): void;
27
+ }
File without changes
package/sdk/util.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export declare function randomNumber(len: number): number;
2
2
  export declare function isPc(): boolean;
3
+ export declare function isIOS(): boolean;
4
+ export declare function IsSafari(): boolean;
3
5
  export declare function DateFormat(date: number, fmt: string): string;
4
6
  export declare function userNameColor(userName: string): string;
5
7
  export declare function getUrlParams(url: string): {
@@ -11,3 +13,4 @@ export declare function getVideoResolution(level: string): {
11
13
  bitrate: number;
12
14
  frameRate: number;
13
15
  };
16
+ export declare const throttle: (fn: Function, wait: number) => () => void;
@@ -20,6 +20,7 @@ export declare class ZegoSettings extends React.Component<ZegoSettingsProps> {
20
20
  speakerVolume: number;
21
21
  isSpeakerPlaying: boolean;
22
22
  renderAudio: boolean;
23
+ showNonVideo: boolean | undefined;
23
24
  };
24
25
  videoRef: React.RefObject<HTMLDivElement>;
25
26
  speakerTimer: NodeJS.Timer | null;
@@ -52,6 +53,7 @@ export declare class ZegoSettings extends React.Component<ZegoSettingsProps> {
52
53
  close(): void;
53
54
  captureMicVolume(): void;
54
55
  onTestMusicEnded(): void;
56
+ handleShowNonVideo(): void;
55
57
  render(): React.ReactNode;
56
58
  }
57
59
  export declare const ZegoSettingsAlert: (config: ZegoSettingsProps) => void;
@@ -5,7 +5,9 @@ export declare class ZegoCloudRTCKitComponent extends React.Component<{
5
5
  }> {
6
6
  state: {
7
7
  step: number;
8
+ isSupportWebRTC: boolean;
8
9
  };
10
+ componentDidMount(): Promise<void>;
9
11
  nextPage(): void;
10
12
  render(): React.ReactNode;
11
13
  }
@@ -2,7 +2,6 @@ import React, { ChangeEvent, RefObject } from "react";
2
2
  import { ZegoBrowserCheckProp } from "../../../model";
3
3
  export declare class ZegoBrowserCheck extends React.Component<ZegoBrowserCheckProp> {
4
4
  state: {
5
- isSupportWebRTC: undefined;
6
5
  localStream: undefined;
7
6
  localVideoStream: undefined;
8
7
  localAudioStream: undefined;
@@ -19,6 +18,7 @@ export declare class ZegoBrowserCheck extends React.Component<ZegoBrowserCheckPr
19
18
  seletCamera: undefined;
20
19
  seletVideoResolution: string;
21
20
  isJoining: boolean;
21
+ showNonVideo: boolean | undefined;
22
22
  };
23
23
  videoRef: RefObject<HTMLVideoElement>;
24
24
  inviteRef: RefObject<HTMLInputElement>;
@@ -2,7 +2,6 @@ import React, { ChangeEvent, RefObject } from "react";
2
2
  import { ZegoBrowserCheckProp } from "../../../model";
3
3
  export declare class ZegoBrowserCheckMobile extends React.Component<ZegoBrowserCheckProp> {
4
4
  state: {
5
- isSupportWebRTC: undefined;
6
5
  localStream: undefined;
7
6
  localVideoStream: undefined;
8
7
  localAudioStream: undefined;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { ZegoGridLayoutProps } from "../../../../model";
3
+ export declare class ZegoGridLayout extends React.Component<ZegoGridLayoutProps> {
4
+ render(): React.ReactNode;
5
+ }
@@ -1,19 +1,15 @@
1
1
  import React from "react";
2
- import { ZegoCloudRemoteMedia } from "../../../../model";
2
+ import { ZegoCloudUser } from "../../../../modules/tools/UserListManager";
3
+ import { SoundLevelMap } from "../../../../model";
3
4
  export declare class ZegoOne2One extends React.Component<{
4
- localStream: MediaStream | undefined;
5
- remoteStreamInfo: ZegoCloudRemoteMedia | undefined;
6
- remoteUserInfo: {
7
- userName: string | undefined;
8
- userID: string | undefined;
9
- };
10
- selfUserInfo: {
11
- userName: string;
12
- micOpen: boolean;
13
- cameraOpen: boolean;
5
+ selfInfo: {
6
+ userID: string;
14
7
  };
15
8
  onLocalStreamPaused: () => void;
9
+ handleSetPin: Function;
10
+ soundLevel?: SoundLevelMap;
11
+ userList: ZegoCloudUser[];
16
12
  }> {
17
- getVideoScreen(): JSX.Element;
13
+ getVideoScreen(): JSX.Element | null;
18
14
  render(): React.ReactNode;
19
15
  }
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare function OthersVideo(props: {
3
+ users: string[];
4
+ others: number;
5
+ }): JSX.Element;
@@ -0,0 +1,9 @@
1
+ import React, { RefObject } from "react";
2
+ import { ZegoCloudRTCCore } from "../../../../modules";
3
+ export declare class ZegoRoomInvite extends React.Component<{
4
+ core: ZegoCloudRTCCore;
5
+ }> {
6
+ inviteRef: RefObject<HTMLInputElement>;
7
+ handleCopy(): void;
8
+ render(): React.ReactNode;
9
+ }
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import { ZegoSidebarLayoutProps } from "../../../../model";
3
+ export declare class ZegoSidebarLayout extends React.Component<ZegoSidebarLayoutProps> {
4
+ get pinUser(): import("../../../../modules/tools/UserListManager").ZegoCloudUser;
5
+ render(): React.ReactNode;
6
+ }
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { ZegoCloudRTCCore } from "../../../../modules";
3
+ import { ZegoCloudUserList } from "../../../../modules/tools/UserListManager";
4
+ import { SoundLevelMap } from "../../../../model";
5
+ export declare class ZegoUserList extends React.Component<{
6
+ core: ZegoCloudRTCCore;
7
+ userList: ZegoCloudUserList;
8
+ selfUserID: string;
9
+ handleSetPin: Function;
10
+ soundLevel?: SoundLevelMap;
11
+ }> {
12
+ componentDidMount(): void;
13
+ componentWillUnmount(): void;
14
+ onBodyClick(e: Event): void;
15
+ expandMemberMenu(userID: string | null): void;
16
+ getHeight(userID: string, streamID: string): number;
17
+ render(): React.ReactNode;
18
+ }
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { ZegoCloudUser } from "../../../../modules/tools/UserListManager";
3
+ export declare function VideoPlayer(props: {
4
+ userInfo: ZegoCloudUser;
5
+ muted: boolean;
6
+ volume?: {
7
+ [streamID: string]: number;
8
+ };
9
+ handlePin?: Function;
10
+ onPause?: Function;
11
+ myClass?: string;
12
+ }): JSX.Element;
@@ -1,13 +1,14 @@
1
1
  /// <reference types="node" />
2
2
  import React, { RefObject } from "react";
3
- import { ZegoBroadcastMessageInfo2, ZegoBrowserCheckProp, ZegoCloudRemoteMedia, ZegoNotification } from "../../../model";
3
+ import { SoundLevelMap, ZegoBroadcastMessageInfo2, ZegoBrowserCheckProp, ZegoCloudRemoteMedia, ZegoNotification } from "../../../model";
4
4
  import { ZegoUser } from "zego-express-engine-webrtm/sdk/code/zh/ZegoExpressEntity.d";
5
+ import { ZegoCloudUserList } from "../../../modules/tools/UserListManager";
5
6
  export declare class ZegoRoom extends React.Component<ZegoBrowserCheckProp> {
6
7
  state: {
7
8
  localStream: undefined | MediaStream;
8
9
  remoteStreamInfo: ZegoCloudRemoteMedia | undefined;
9
10
  layOutStatus: "ONE_VIDEO" | "INVITE" | "USER_LIST" | "MESSAGE";
10
- userList: ZegoUser[];
11
+ zegoCloudUserList: ZegoCloudUserList;
11
12
  messageList: ZegoBroadcastMessageInfo2[];
12
13
  notificationList: ZegoNotification[];
13
14
  micOpen: boolean;
@@ -20,25 +21,36 @@ export declare class ZegoRoom extends React.Component<ZegoBrowserCheckProp> {
20
21
  seletSpeaker: string | undefined;
21
22
  seletCamera: string | undefined;
22
23
  seletVideoResolution: string;
24
+ showNonVideoUser: boolean;
25
+ videoShowNumber: number;
26
+ gridRowNumber: number;
27
+ layout: "Default" | "Grid" | "Sidebar";
28
+ showLayoutSettingsModel: boolean;
29
+ isLayoutChanging: boolean;
30
+ soundLevel: SoundLevelMap;
23
31
  };
24
- inviteRef: RefObject<HTMLInputElement>;
25
32
  settingsRef: RefObject<HTMLDivElement>;
26
33
  moreRef: RefObject<HTMLDivElement>;
27
34
  micStatus: -1 | 0 | 1;
28
35
  cameraStatus: -1 | 0 | 1;
29
36
  notifyTimer: NodeJS.Timeout;
30
37
  msgDelayed: boolean;
38
+ localUserPin: boolean;
39
+ localStreamID: string;
40
+ userUpdateCallBack: () => void;
31
41
  componentDidMount(): void;
32
42
  componentDidUpdate(preProps: ZegoBrowserCheckProp, preState: {
33
43
  localStream: undefined | MediaStream;
34
44
  remoteStreamInfo: ZegoCloudRemoteMedia | undefined;
35
45
  layOutStatus: "ONE_VIDEO" | "INVITE" | "USER_LIST" | "MESSAGE";
36
- userList: ZegoUser[];
46
+ zegoCloudUserList: ZegoUser[];
37
47
  messageList: ZegoBroadcastMessageInfo2[];
38
48
  notificationList: ZegoNotification[];
39
49
  micOpen: boolean;
40
50
  cameraOpen: boolean;
41
51
  showMore: boolean;
52
+ layout: string;
53
+ videoShowNumber: number;
42
54
  }): void;
43
55
  componentWillUnmount(): void;
44
56
  initSDK(): Promise<void>;
@@ -52,7 +64,13 @@ export declare class ZegoRoom extends React.Component<ZegoBrowserCheckProp> {
52
64
  handleSetting(): void;
53
65
  handleLeave(): void;
54
66
  leaveRoom(): void;
55
- handleCopy(): void;
56
- getListScreen(): JSX.Element | undefined;
67
+ computeByResize(): void;
68
+ onWindowResize: () => void;
69
+ showLayoutSettings(show: boolean): void;
70
+ changeLayout(type: string): Promise<unknown>;
71
+ getShownUser(forceShowNonVideoUser?: boolean): ZegoCloudUserList;
72
+ getHiddenUser(): JSX.Element;
73
+ getLayoutScreen(): JSX.Element | undefined;
74
+ handleSetPin(userID: string): void;
57
75
  render(): React.ReactNode;
58
76
  }
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { ZegoGridLayoutProps } from "../../../../model/index";
3
+ export declare class ZegoGrid extends React.Component<ZegoGridLayoutProps> {
4
+ render(): React.ReactNode;
5
+ }
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ export declare class ZegoLayout extends React.Component<{
3
+ selectLayout: "Sidebar" | "Grid" | "Default";
4
+ closeCallBac: () => void;
5
+ selectCallBack?: (selectLayout: "Sidebar" | "Grid" | "Default") => Promise<boolean>;
6
+ }> {
7
+ state: {
8
+ selectLayout: "Sidebar" | "Grid" | "Default";
9
+ };
10
+ checking: boolean;
11
+ select(selectLayout: "Sidebar" | "Grid" | "Default"): Promise<void>;
12
+ render(): React.ReactNode;
13
+ }
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { ZegoCloudUser } from "../../../../modules/tools/UserListManager";
3
+ export declare class ZegoManage extends React.Component<{
4
+ selectedUser: ZegoCloudUser;
5
+ closeCallBac: () => void;
6
+ selectCallBac: (type?: "Pin", value?: boolean) => void;
7
+ }> {
8
+ select(type?: "Pin", value?: boolean): Promise<void>;
9
+ render(): React.ReactNode;
10
+ }
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { ZegoCloudUser } from "../../../../modules/tools/UserListManager";
3
+ import ShowManageContext, { ShowManageType } from "../context/showManage";
4
+ export declare class ZegoMore extends React.Component<{
5
+ user: ZegoCloudUser;
6
+ }> {
7
+ static contextType?: React.Context<ShowManageType>;
8
+ context: React.ContextType<typeof ShowManageContext>;
9
+ render(): React.ReactNode;
10
+ }
@@ -1,21 +1,14 @@
1
1
  import React from "react";
2
- import { ZegoCloudRemoteMedia } from "../../../../model";
3
- import { ZegoCloudRTCCore } from "../../../../modules";
2
+ import { ZegoCloudUserList } from "../../../../modules/tools/UserListManager";
3
+ import { SoundLevelMap } from "../../../../model";
4
4
  export declare class ZegoOne2One extends React.Component<{
5
- localStream: MediaStream | undefined;
6
- remoteStreamInfo: ZegoCloudRemoteMedia | undefined;
7
- core: ZegoCloudRTCCore;
5
+ userList: ZegoCloudUserList;
8
6
  onLocalStreamPaused: () => void;
9
- remoteUserInfo: {
10
- userName: string | undefined;
11
- userID: string | undefined;
12
- };
13
- selfUserInfo: {
14
- userName: string;
15
- micOpen: boolean;
16
- cameraOpen: boolean;
7
+ soundLevel?: SoundLevelMap;
8
+ selfInfo?: {
9
+ userID: string;
17
10
  };
18
11
  }> {
19
- getVideoScreen(): JSX.Element;
12
+ getVideoScreen(): JSX.Element | undefined;
20
13
  render(): React.ReactNode;
21
14
  }
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { ZegoGridLayoutProps } from "../../../../model";
3
+ import { ZegoCloudUserList } from "../../../../modules/tools/UserListManager";
4
+ export declare class ZegoSidebar extends React.Component<ZegoGridLayoutProps> {
5
+ get userList(): ZegoCloudUserList;
6
+ get pinUser(): import("../../../../modules/tools/UserListManager").ZegoCloudUser;
7
+ render(): React.ReactNode;
8
+ }
@@ -1,10 +1,10 @@
1
1
  import React, { ChangeEvent } from "react";
2
2
  import { ZegoCloudRTCCore } from "../../../../modules";
3
- import { ZegoUser } from "zego-express-engine-webrtm/sdk/code/zh/ZegoExpressEntity.d";
3
+ import { ZegoCloudUser, ZegoCloudUserList } from "../../../../modules/tools/UserListManager";
4
4
  export declare class ZegoUserList extends React.Component<{
5
- userList: ZegoUser[];
5
+ userList: ZegoCloudUserList;
6
6
  core: ZegoCloudRTCCore;
7
- closeCallBack: () => void;
7
+ closeCallBack: (user?: ZegoCloudUser) => void;
8
8
  }> {
9
9
  state: {
10
10
  message: string;
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { ZegoCloudUser } from "../../../../modules/tools/UserListManager";
3
+ export declare class ZegoUserVideo extends React.Component<{
4
+ user: ZegoCloudUser;
5
+ onLocalStreamPaused?: () => void;
6
+ volume: {
7
+ [streamID: string]: number;
8
+ };
9
+ circleSize?: "GRID" | "SIDEBAR";
10
+ muted: boolean;
11
+ }> {
12
+ render(): React.ReactNode;
13
+ }
14
+ export declare class ZegoUserOtherVideo extends React.Component<{
15
+ user: ZegoCloudUser;
16
+ nextUser: ZegoCloudUser;
17
+ othersNumber: number;
18
+ circleSize?: "GRID" | "SIDEBAR";
19
+ onLocalStreamPaused?: () => void;
20
+ }> {
21
+ render(): React.ReactNode;
22
+ }
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { ZegoCloudUser } from "../../../../modules/tools/UserListManager";
3
+ export declare type ShowManageType = {
4
+ show: (user: ZegoCloudUser) => void;
5
+ };
6
+ declare const ShowManageContext: React.Context<ShowManageType>;
7
+ export default ShowManageContext;
@@ -1,14 +1,16 @@
1
1
  /// <reference types="node" />
2
2
  import React from "react";
3
- import { ZegoBroadcastMessageInfo2, ZegoBrowserCheckProp, ZegoCloudRemoteMedia, ZegoNotification } from "../../../model";
4
- import { ZegoUser, ZegoBroadcastMessageInfo } from "zego-express-engine-webrtm/sdk/code/zh/ZegoExpressEntity.d";
3
+ import { SoundLevelMap, ZegoBroadcastMessageInfo2, ZegoBrowserCheckProp, ZegoNotification } from "../../../model";
4
+ import { ZegoBroadcastMessageInfo } from "zego-express-engine-webrtm/sdk/code/zh/ZegoExpressEntity.d";
5
5
  import { ZegoDeviceInfo } from "zego-express-engine-webrtc/sdk/code/zh/ZegoExpressEntity.web";
6
+ import { ZegoCloudUserList } from "../../../modules/tools/UserListManager";
6
7
  export declare class ZegoRoomMobile extends React.Component<ZegoBrowserCheckProp> {
8
+ static contextType: React.Context<import("./context/showManage").ShowManageType>;
7
9
  state: {
8
10
  localStream: undefined | MediaStream;
9
- remoteStreamInfo: ZegoCloudRemoteMedia | undefined;
10
- layOutStatus: "ONE_VIDEO" | "INVITE" | "USER_LIST" | "MESSAGE";
11
- userList: ZegoUser[];
11
+ layOutStatus: "ONE_VIDEO" | "INVITE" | "USER_LIST" | "MESSAGE" | "LAYOUT" | "MANAGE";
12
+ userLayoutStatus: "Default" | "Grid" | "Sidebar";
13
+ zegoCloudUserList: ZegoCloudUserList;
12
14
  messageList: ZegoBroadcastMessageInfo2[];
13
15
  notificationList: ZegoNotification[];
14
16
  micOpen: boolean;
@@ -19,19 +21,21 @@ export declare class ZegoRoomMobile extends React.Component<ZegoBrowserCheckProp
19
21
  cameraFront: boolean;
20
22
  showFooter: boolean;
21
23
  isNetworkPoor: boolean;
24
+ soundLevel: SoundLevelMap;
22
25
  };
23
26
  micStatus: -1 | 0 | 1;
24
27
  cameraStatus: -1 | 0 | 1;
28
+ localUserPin: boolean;
25
29
  faceModel: 0 | 1 | -1;
26
30
  notifyTimer: NodeJS.Timeout | null;
27
31
  footerTimer: NodeJS.Timeout;
28
32
  cameraDevices: ZegoDeviceInfo[];
33
+ userUpdateCallBack: () => void;
34
+ localStreamID: string;
29
35
  componentDidMount(): void;
30
36
  componentDidUpdate(preProps: ZegoBrowserCheckProp, preState: {
31
37
  localStream: undefined | MediaStream;
32
- remoteStreamInfo: ZegoCloudRemoteMedia | undefined;
33
38
  layOutStatus: "ONE_VIDEO" | "INVITE" | "USER_LIST" | "MESSAGE";
34
- userList: ZegoUser[];
35
39
  messageList: ZegoBroadcastMessageInfo[];
36
40
  notificationList: ZegoNotification[];
37
41
  micOpen: boolean;
@@ -43,13 +47,18 @@ export declare class ZegoRoomMobile extends React.Component<ZegoBrowserCheckProp
43
47
  toggleMic(): Promise<void>;
44
48
  toggleCamera(): Promise<void>;
45
49
  switchCamera(): Promise<void>;
46
- toggleLayOut(layOutStatus: "ONE_VIDEO" | "INVITE" | "USER_LIST" | "MESSAGE"): void;
50
+ toggleLayOut(layOutStatus: "ONE_VIDEO" | "INVITE" | "USER_LIST" | "MESSAGE" | "LAYOUT"): void;
47
51
  sendMessage(msg: string): Promise<void>;
48
52
  onblur: (e: {
49
53
  path?: any[];
50
54
  }) => void;
51
55
  openMore(): void;
52
56
  leaveRoom(): void;
57
+ getShownUser(forceShowNonVideoUser?: boolean): ZegoCloudUserList;
58
+ getHiddenUser(): JSX.Element;
59
+ private _selectedUser;
53
60
  getListScreen(): JSX.Element | undefined;
61
+ getLayoutScreen(): JSX.Element | undefined;
62
+ clickVideo(e: MouseEvent): void;
54
63
  render(): React.ReactNode;
55
64
  }