@tellescope/video-chat 0.0.14 → 0.0.18
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.
- package/lib/cjs/controls.d.ts +18 -0
- package/lib/cjs/controls.d.ts.map +1 -0
- package/lib/cjs/controls.js +57 -0
- package/lib/cjs/controls.js.map +1 -0
- package/lib/cjs/index.d.ts +1 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/index.native.d.ts +1 -0
- package/lib/cjs/index.native.d.ts.map +1 -1
- package/lib/cjs/index.native.js +1 -0
- package/lib/cjs/index.native.js.map +1 -1
- package/lib/cjs/native/RNVideoRenderView.d.ts +2 -2
- package/lib/cjs/native/RNVideoRenderView.d.ts.map +1 -1
- package/lib/cjs/native/RNVideoRenderView.js.map +1 -1
- package/lib/cjs/video.d.ts +13 -3
- package/lib/cjs/video.d.ts.map +1 -1
- package/lib/cjs/video.js +38 -7
- package/lib/cjs/video.js.map +1 -1
- package/lib/cjs/video.native.d.ts +7 -1
- package/lib/cjs/video.native.d.ts.map +1 -1
- package/lib/cjs/video.native.js +89 -36
- package/lib/cjs/video.native.js.map +1 -1
- package/lib/esm/controls.d.ts +18 -0
- package/lib/esm/controls.d.ts.map +1 -0
- package/lib/esm/controls.js +46 -0
- package/lib/esm/controls.js.map +1 -0
- package/lib/esm/index.d.ts +1 -0
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/index.native.d.ts +1 -0
- package/lib/esm/index.native.d.ts.map +1 -1
- package/lib/esm/index.native.js +1 -0
- package/lib/esm/index.native.js.map +1 -1
- package/lib/esm/native/RNVideoRenderView.d.ts +2 -2
- package/lib/esm/native/RNVideoRenderView.d.ts.map +1 -1
- package/lib/esm/native/RNVideoRenderView.js.map +1 -1
- package/lib/esm/shared.d.ts +1 -0
- package/lib/esm/shared.d.ts.map +1 -0
- package/lib/esm/shared.js +2 -0
- package/lib/esm/shared.js.map +1 -0
- package/lib/esm/video.d.ts +13 -3
- package/lib/esm/video.d.ts.map +1 -1
- package/lib/esm/video.js +36 -8
- package/lib/esm/video.js.map +1 -1
- package/lib/esm/video.native.d.ts +7 -1
- package/lib/esm/video.native.d.ts.map +1 -1
- package/lib/esm/video.native.js +88 -37
- package/lib/esm/video.native.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/controls.tsx +86 -0
- package/src/index.native.ts +2 -1
- package/src/index.ts +2 -1
- package/src/native/RNVideoRenderView.tsx +1 -1
- package/src/video.native.tsx +122 -53
- package/src/video.tsx +45 -16
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Styled } from "@tellescope/react-components/lib/esm/mui";
|
|
2
|
+
interface ButtonProps {
|
|
3
|
+
size?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare const VideoToggle: ({ size }: ButtonProps) => JSX.Element;
|
|
6
|
+
export declare const MicrophoneToggle: ({ size }: ButtonProps) => JSX.Element;
|
|
7
|
+
export declare const EndMeeting: ({ size }: ButtonProps) => JSX.Element;
|
|
8
|
+
interface LeaveMeetingProps {
|
|
9
|
+
onLeave?: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const LeaveMeeting: ({ onLeave, size }: LeaveMeetingProps & ButtonProps) => JSX.Element;
|
|
12
|
+
interface ControlbarProps {
|
|
13
|
+
spacing?: number;
|
|
14
|
+
size?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare const ControlBar: ({ onLeave, style, spacing, size }: ControlbarProps & LeaveMeetingProps & Styled) => JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=controls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../src/controls.tsx"],"names":[],"mappings":"AAGA,OAAO,EASL,MAAM,EACP,MAAM,0CAA0C,CAAA;AASjD,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,eAAO,MAAM,WAAW,aAAmC,WAAW,gBAQrE,CAAA;AAED,eAAO,MAAM,gBAAgB,aAAkC,WAAW,gBAQzE,CAAA;AAGD,eAAO,MAAM,UAAU,aAAkC,WAAW,gBAMnE,CAAA;AAED,UAAU,iBAAiB;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AACD,eAAO,MAAM,YAAY,sBAA4C,iBAAiB,GAAG,WAAW,gBAEnG,CAAA;AAED,UAAU,eAAe;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CAEf;AACD,eAAO,MAAM,UAAU,sCAA2C,eAAe,GAAG,iBAAiB,GAAG,MAAM,gBAmB7G,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
// components that work with web or native
|
|
14
|
+
import React from "react";
|
|
15
|
+
import { VideoIcon, VideoOffIcon, MicrophoneIcon, MicrophoneOffIcon, CallEndIcon, Paper, } from "@tellescope/react-components/lib/esm/mui";
|
|
16
|
+
import { LabeledIconButton } from "@tellescope/react-components/lib/esm/controls";
|
|
17
|
+
import { Flex } from "@tellescope/react-components/lib/esm/layout";
|
|
18
|
+
import { CurrentCallContext, useStartVideoCall, } from "./video";
|
|
19
|
+
var DEFAULT_BUTTON_SIZE = 30;
|
|
20
|
+
export var VideoToggle = function (_a) {
|
|
21
|
+
var _b = _a.size, size = _b === void 0 ? DEFAULT_BUTTON_SIZE : _b;
|
|
22
|
+
var _c = React.useContext(CurrentCallContext), toggleVideo = _c.toggleVideo, videoIsEnabled = _c.videoIsEnabled;
|
|
23
|
+
return (_jsx(LabeledIconButton, { size: size, Icon: videoIsEnabled ? VideoIcon : VideoOffIcon, onClick: toggleVideo, label: videoIsEnabled ? "Turn Camera Off" : "Turn Camera On" }, void 0));
|
|
24
|
+
};
|
|
25
|
+
export var MicrophoneToggle = function (_a) {
|
|
26
|
+
var _b = _a.size, size = _b === void 0 ? DEFAULT_BUTTON_SIZE : _b;
|
|
27
|
+
var _c = React.useContext(CurrentCallContext), microphoneIsEnabled = _c.microphoneIsEnabled, toggleMicrophone = _c.toggleMicrophone;
|
|
28
|
+
return (_jsx(LabeledIconButton, { size: size, Icon: microphoneIsEnabled ? MicrophoneIcon : MicrophoneOffIcon, onClick: toggleMicrophone, label: microphoneIsEnabled ? "Turn Microphone Off" : "Turn Microphone On" }, void 0));
|
|
29
|
+
};
|
|
30
|
+
// ends meeting if host, otherwise leaves meeting
|
|
31
|
+
export var EndMeeting = function (_a) {
|
|
32
|
+
var _b = _a.size, size = _b === void 0 ? DEFAULT_BUTTON_SIZE : _b;
|
|
33
|
+
var endMeeting = useStartVideoCall().endMeeting;
|
|
34
|
+
return (_jsx(LabeledIconButton, { size: size, Icon: CallEndIcon, onClick: endMeeting, label: "End Meeting" }, void 0));
|
|
35
|
+
};
|
|
36
|
+
export var LeaveMeeting = function (_a) {
|
|
37
|
+
var onLeave = _a.onLeave, _b = _a.size, size = _b === void 0 ? DEFAULT_BUTTON_SIZE : _b;
|
|
38
|
+
return (_jsx(LabeledIconButton, { size: size, Icon: CallEndIcon, onClick: onLeave, label: "Leave Meeting" }, void 0));
|
|
39
|
+
};
|
|
40
|
+
export var ControlBar = function (_a) {
|
|
41
|
+
var onLeave = _a.onLeave, style = _a.style, _b = _a.spacing, spacing = _b === void 0 ? 15 : _b, size = _a.size;
|
|
42
|
+
var isHost = React.useContext(CurrentCallContext).isHost;
|
|
43
|
+
var itemStyle = { marginLeft: spacing, marginRight: spacing };
|
|
44
|
+
return (_jsx(Flex, __assign({ flex: 1, alignItems: "center", justifyContent: "center", style: style }, { children: _jsxs(Paper, __assign({ elevation: 5, style: { display: 'flex', flexDirection: 'row', padding: spacing } }, { children: [_jsx(Flex, __assign({ style: itemStyle }, { children: _jsx(VideoToggle, { size: size }, void 0) }), void 0), _jsx(Flex, __assign({ style: itemStyle }, { children: _jsx(MicrophoneToggle, { size: size }, void 0) }), void 0), _jsx(Flex, __assign({ style: itemStyle }, { children: isHost ? _jsx(EndMeeting, { size: size }, void 0) : _jsx(LeaveMeeting, { size: size, onLeave: onLeave }, void 0) }), void 0)] }), void 0) }), void 0));
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=controls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../../src/controls.tsx"],"names":[],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
package/lib/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAA"}
|
package/lib/esm/index.js
CHANGED
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA"}
|
package/lib/esm/index.native.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ViewStyle } from 'react-native';
|
|
3
3
|
export declare class RNVideoView extends React.Component<{
|
|
4
|
-
tileId:
|
|
5
|
-
style
|
|
4
|
+
tileId: number;
|
|
5
|
+
style?: ViewStyle;
|
|
6
6
|
}> {
|
|
7
7
|
componentDidMount(): void;
|
|
8
8
|
componentWillUnmount(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RNVideoRenderView.d.ts","sourceRoot":"","sources":["../../../src/native/RNVideoRenderView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAA0C,SAAS,EAAE,MAAM,cAAc,CAAC;AAGjF,qBAAa,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC;IAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"RNVideoRenderView.d.ts","sourceRoot":"","sources":["../../../src/native/RNVideoRenderView.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAA0C,SAAS,EAAE,MAAM,cAAc,CAAC;AAGjF,qBAAa,WAAY,SAAQ,KAAK,CAAC,SAAS,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;IACrF,iBAAiB;IAUjB,oBAAoB;IAIpB,MAAM;CAGP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RNVideoRenderView.js","sourceRoot":"","sources":["../../../src/native/RNVideoRenderView.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAa,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;IAAiC,+
|
|
1
|
+
{"version":3,"file":"RNVideoRenderView.js","sourceRoot":"","sources":["../../../src/native/RNVideoRenderView.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAa,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;IAAiC,+BAAsD;IAAvF;;IAkBA,CAAC;IAjBC,uCAAiB,GAAjB;QAAA,iBAQC;QAPC,mCAAmC;QACnC,8FAA8F;QAC9F,wGAAwG;QACxG,oEAAoE;QACpE,UAAU,CAAC;YACT,cAAc,CAAC,aAAa,CAAC,cAAc,CAAC,KAAI,CAAC,EAAE,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAoB,GAApB;QACE,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,4BAAM,GAAN;QACE,OAAO,KAAC,uBAAuB,eAAK,IAAI,CAAC,KAAK,UAAI,CAAC;IACrD,CAAC;IACH,kBAAC;AAAD,CAAC,AAlBD,CAAiC,KAAK,CAAC,SAAS,GAkB/C;;AAED,IAAM,uBAAuB,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/shared.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/shared.ts"],"names":[],"mappings":""}
|
package/lib/esm/video.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { CSSProperties } from "react";
|
|
2
2
|
import { UserIdentity } from "@tellescope/types-utilities";
|
|
3
3
|
import { AttendeeInfo, MeetingInfo } from '@tellescope/types-models';
|
|
4
4
|
import { darkTheme, VideoTileGrid } from 'amazon-chime-sdk-component-library-react';
|
|
@@ -11,9 +11,14 @@ export declare const CurrentCallContext: React.Context<{
|
|
|
11
11
|
setMeeting: (m: MeetingInfo | undefined) => void;
|
|
12
12
|
videoIsEnabled: boolean;
|
|
13
13
|
toggleVideo: () => Promise<void>;
|
|
14
|
+
microphoneIsEnabled: boolean;
|
|
15
|
+
toggleMicrophone: () => Promise<void>;
|
|
14
16
|
attendees: AttendeeDisplayInfo[];
|
|
15
|
-
shareScreenId:
|
|
16
|
-
|
|
17
|
+
shareScreenId: number | null;
|
|
18
|
+
localTileId: number | null;
|
|
19
|
+
isHost: boolean;
|
|
20
|
+
setIsHost: (b: boolean) => void;
|
|
21
|
+
videoTiles: (number)[];
|
|
17
22
|
}>;
|
|
18
23
|
export interface VideoProps {
|
|
19
24
|
children?: React.ReactNode;
|
|
@@ -42,5 +47,10 @@ export declare const useJoinVideoCall: () => {
|
|
|
42
47
|
}) => Promise<void>;
|
|
43
48
|
};
|
|
44
49
|
export declare type JoinVideoCallReturnType = ReturnType<typeof useJoinVideoCall>;
|
|
50
|
+
export interface VideoViewProps {
|
|
51
|
+
style?: CSSProperties;
|
|
52
|
+
}
|
|
53
|
+
export declare const SelfView: ({ style }: VideoViewProps) => JSX.Element;
|
|
54
|
+
export declare const useRemoteViews: (props?: VideoViewProps) => JSX.Element[];
|
|
45
55
|
export { VideoTileGrid };
|
|
46
56
|
//# sourceMappingURL=video.d.ts.map
|
package/lib/esm/video.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/video.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/video.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAyB,aAAa,EAAY,MAAM,OAAO,CAAA;AAM7E,OAAO,EACL,YAAY,EACb,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,YAAY,EACZ,WAAW,EACZ,MAAM,0BAA0B,CAAA;AAIjC,OAAO,EAEL,SAAS,EAGT,aAAa,EAed,MAAM,0CAA0C,CAAC;AAGlD,oBAAY,mBAAmB,GAAI;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjF,eAAO,MAAM,kBAAkB;aACpB,WAAW,GAAG,SAAS;oBAAkB,WAAW,GAAG,SAAS,KAAK,IAAI;oBAClE,OAAO;iBAAe,MAAM,QAAQ,IAAI,CAAC;yBACpC,OAAO;sBAAoB,MAAM,QAAQ,IAAI,CAAC;eACxD,mBAAmB,EAAE;mBAAiB,MAAM,GAAG,IAAI;iBACjD,MAAM,GAAG,IAAI;YAClB,OAAO;mBAAiB,OAAO,KAAK,IAAI;gBACpC,CAAC,MAAM,CAAC,EAAE;EACtB,CAAA;AACF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,SAAS,CAAC;CAC1B;AAkCD,eAAO,MAAM,SAAS,wBAAmC,UAAU,gBAQlE,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;;uBAtDgB,QAAQ,IAAI,CAAC;;8BAqFN,YAAY,EAAE;;CAkBlE,CAAA;AACD,oBAAY,wBAAwB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3E,eAAO,MAAM,gBAAgB;;;uBA1GiB,QAAQ,IAAI,CAAC;+BA8GjB;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,gBAAgB;QAAE,QAAQ,EAAE,YAAY,CAAA;KAAE;CAO3G,CAAA;AACD,oBAAY,uBAAuB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzE,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AACD,eAAO,MAAM,QAAQ,cAAe,cAAc,gBAA2C,CAAA;AAE7F,eAAO,MAAM,cAAc,2CAO1B,CAAA;AAGD,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
package/lib/esm/video.js
CHANGED
|
@@ -55,26 +55,41 @@ VideoTileGrid,
|
|
|
55
55
|
// VideoGrid,
|
|
56
56
|
// VideoTile,
|
|
57
57
|
// PreviewVideo,
|
|
58
|
-
|
|
59
|
-
useLocalVideo, useMeetingManager, useRosterState, useRemoteVideoTileState
|
|
58
|
+
RemoteVideo, LocalVideo, useLocalVideo, useMeetingManager, useRosterState, useRemoteVideoTileState, useToggleLocalMute,
|
|
60
59
|
// useRemoteVideoTileState,
|
|
61
60
|
// useContentShareControls, // screen sharing
|
|
62
61
|
} from 'amazon-chime-sdk-component-library-react';
|
|
63
62
|
export var CurrentCallContext = React.createContext({});
|
|
64
63
|
var WithContext = function (_a) {
|
|
65
|
-
var _b;
|
|
66
64
|
var children = _a.children;
|
|
67
|
-
var
|
|
68
|
-
var
|
|
65
|
+
var _b = useState(undefined), meeting = _b[0], setMeeting = _b[1];
|
|
66
|
+
var _c = useState(false), isHost = _c[0], setIsHost = _c[1];
|
|
67
|
+
var _d = useLocalVideo(), toggleVideo = _d.toggleVideo, videoIsEnabled = _d.isVideoEnabled, localTileId = _d.tileId;
|
|
69
68
|
var roster = useRosterState().roster;
|
|
70
69
|
var tileId = useContentShareState().tileId;
|
|
71
70
|
var tiles = useRemoteVideoTileState().tiles;
|
|
71
|
+
var _e = useToggleLocalMute(), muted = _e.muted, toggleMute = _e.toggleMute;
|
|
72
72
|
var attendees = [];
|
|
73
73
|
for (var attendeeId in roster) {
|
|
74
74
|
var externalUserId = roster[attendeeId].externalUserId;
|
|
75
75
|
attendees.push({ attendeeId: attendeeId, externalUserId: externalUserId });
|
|
76
76
|
}
|
|
77
|
-
return (_jsx(CurrentCallContext.Provider, __assign({ value: {
|
|
77
|
+
return (_jsx(CurrentCallContext.Provider, __assign({ value: {
|
|
78
|
+
isHost: isHost,
|
|
79
|
+
setIsHost: setIsHost,
|
|
80
|
+
attendees: attendees,
|
|
81
|
+
localTileId: localTileId,
|
|
82
|
+
videoTiles: tiles,
|
|
83
|
+
shareScreenId: tileId,
|
|
84
|
+
meeting: meeting,
|
|
85
|
+
setMeeting: setMeeting,
|
|
86
|
+
videoIsEnabled: videoIsEnabled,
|
|
87
|
+
toggleVideo: toggleVideo,
|
|
88
|
+
microphoneIsEnabled: !muted,
|
|
89
|
+
toggleMicrophone: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
90
|
+
return [2 /*return*/, toggleMute()];
|
|
91
|
+
}); }); },
|
|
92
|
+
} }, { children: children }), void 0));
|
|
78
93
|
};
|
|
79
94
|
export var WithVideo = function (_a) {
|
|
80
95
|
var children = _a.children, _b = _a.theme, theme = _b === void 0 ? darkTheme : _b;
|
|
@@ -83,8 +98,8 @@ export var WithVideo = function (_a) {
|
|
|
83
98
|
export var useStartVideoCall = function () {
|
|
84
99
|
var _a = useState(false), starting = _a[0], setStarting = _a[1];
|
|
85
100
|
var _b = useState(false), ending = _b[0], setEnding = _b[1];
|
|
86
|
-
var _c = React.useContext(CurrentCallContext), meeting = _c.meeting, setMeeting = _c.setMeeting, toggleVideo = _c.toggleVideo, videoIsEnabled = _c.videoIsEnabled;
|
|
87
|
-
var session = useSession();
|
|
101
|
+
var _c = React.useContext(CurrentCallContext), meeting = _c.meeting, setMeeting = _c.setMeeting, toggleVideo = _c.toggleVideo, videoIsEnabled = _c.videoIsEnabled, setIsHost = _c.setIsHost;
|
|
102
|
+
var session = useSession(); // meetings can only be started by users, not endusers (for now)
|
|
88
103
|
var meetingManager = useMeetingManager();
|
|
89
104
|
var createAndStartMeeting = function (initialAttendees) { return __awaiter(void 0, void 0, void 0, function () {
|
|
90
105
|
var _a, meeting_1, host, err_1;
|
|
@@ -108,6 +123,7 @@ export var useStartVideoCall = function () {
|
|
|
108
123
|
session.api.meetings.add_attendees_to_meeting({ id: meeting_1.Meeting.ExternalMeetingId, attendees: initialAttendees });
|
|
109
124
|
}
|
|
110
125
|
setMeeting(meeting_1.Meeting);
|
|
126
|
+
setIsHost(true);
|
|
111
127
|
return [3 /*break*/, 7];
|
|
112
128
|
case 5:
|
|
113
129
|
err_1 = _b.sent();
|
|
@@ -180,5 +196,17 @@ export var useJoinVideoCall = function () {
|
|
|
180
196
|
}); };
|
|
181
197
|
return { meeting: meeting, videoIsEnabled: videoIsEnabled, toggleVideo: toggleVideo, joinMeeting: joinMeeting };
|
|
182
198
|
};
|
|
199
|
+
export var SelfView = function (_a) {
|
|
200
|
+
var style = _a.style;
|
|
201
|
+
return _jsx("div", __assign({ style: style }, { children: _jsx(LocalVideo, {}, void 0) }), void 0);
|
|
202
|
+
};
|
|
203
|
+
export var useRemoteViews = function (props) {
|
|
204
|
+
if (props === void 0) { props = {}; }
|
|
205
|
+
var _a = React.useContext(CurrentCallContext), localTileId = _a.localTileId, videoTiles = _a.videoTiles;
|
|
206
|
+
var nonLocal = videoTiles.filter(function (v) { return v !== localTileId; });
|
|
207
|
+
return nonLocal.map(function (tileId) {
|
|
208
|
+
return _jsx(RemoteVideo, { style: props.style, tileId: tileId }, tileId);
|
|
209
|
+
});
|
|
210
|
+
};
|
|
183
211
|
export { VideoTileGrid };
|
|
184
212
|
//# sourceMappingURL=video.js.map
|
package/lib/esm/video.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/video.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAA2B,MAAM,OAAO,CAAA;AAE7E,OAAO,EACL,UAAU,GACX,MAAM,qDAAqD,CAAA;
|
|
1
|
+
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/video.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CurrentCallContext, JoinVideoCallReturnType, StartVideoCallReturnType, VideoProps, VideoViewProps } from "./video.js";
|
|
3
|
+
export { CurrentCallContext };
|
|
2
4
|
export declare const WithVideo: ({ children }: VideoProps) => JSX.Element;
|
|
5
|
+
export declare const useRemoteViews: (props?: {
|
|
6
|
+
style: React.CSSProperties;
|
|
7
|
+
}) => JSX.Element[];
|
|
8
|
+
export declare const SelfView: ({ style }: VideoViewProps) => JSX.Element | null;
|
|
3
9
|
export declare const useStartVideoCall: () => StartVideoCallReturnType;
|
|
4
10
|
export declare const useJoinVideoCall: () => JoinVideoCallReturnType;
|
|
5
11
|
export declare const VideoTileGrid: () => JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.native.d.ts","sourceRoot":"","sources":["../../src/video.native.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"video.native.d.ts","sourceRoot":"","sources":["../../src/video.native.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAsB3E,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,UAAU,EAEV,cAAc,EACf,MAAM,YAAY,CAAA;AASnB,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAQ7B,eAAO,MAAM,SAAS,iBAAmB,UAAU,gBAkHlD,CAAA;AAGD,eAAO,MAAM,cAAc;WAAyB,MAAM,aAAa;mBAOtE,CAAA;AAED,eAAO,MAAM,QAAQ,cAAgB,cAAc,uBAOlD,CAAA;AAED,eAAO,MAAM,iBAAiB,QAAO,wBAsDpC,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAO,uBAQnC,CAAA;AACD,eAAO,MAAM,aAAa,mBAgDzB,CAAA"}
|
package/lib/esm/video.native.js
CHANGED
|
@@ -63,39 +63,61 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
63
63
|
* SPDX-License-Identifier: MIT-0
|
|
64
64
|
*/
|
|
65
65
|
import React, { useCallback, useContext, useEffect, useState } from "react";
|
|
66
|
-
import {
|
|
66
|
+
import { StyleSheet } from "react-native";
|
|
67
67
|
import { useSession } from "@tellescope/react-components/lib/esm/authentication";
|
|
68
|
-
import {
|
|
69
|
-
import {
|
|
68
|
+
import { Flex } from "@tellescope/react-components/lib/esm/layout";
|
|
69
|
+
import { Button, Typography, convert_CSS_to_RNStyles, } from "@tellescope/react-components/lib/esm/mui.native";
|
|
70
|
+
import { CurrentCallContext, } from "./video.js";
|
|
70
71
|
import { getSDKEventEmitter, MobileSDKEvent, NativeFunction, } from "./native/bridge";
|
|
71
72
|
import { RNVideoView } from "./native/RNVideoRenderView";
|
|
73
|
+
export { CurrentCallContext };
|
|
72
74
|
export var WithVideo = function (_a) {
|
|
73
75
|
var children = _a.children;
|
|
74
76
|
var _b = useState(undefined), meeting = _b[0], setMeeting = _b[1];
|
|
75
|
-
var _c = useState(false),
|
|
76
|
-
var _d = useState(false),
|
|
77
|
-
var _e = useState(false),
|
|
78
|
-
var _f = useState(
|
|
79
|
-
var _g = useState(
|
|
80
|
-
var _h = useState([]),
|
|
81
|
-
var
|
|
77
|
+
var _c = useState(false), isHost = _c[0], setIsHost = _c[1];
|
|
78
|
+
var _d = useState(false), inMeeting = _d[0], setInMeeting = _d[1];
|
|
79
|
+
var _e = useState(false), isLoading = _e[0], setIsLoading = _e[1];
|
|
80
|
+
var _f = useState(false), muted = _f[0], setMuted = _f[1];
|
|
81
|
+
var _g = useState(false), videoIsEnabled = _g[0], setVideoIsEnabled = _g[1];
|
|
82
|
+
var _h = useState([]), videoTiles = _h[0], setVideoTiles = _h[1];
|
|
83
|
+
var _j = useState(null), localTileId = _j[0], setLocalTileId = _j[1];
|
|
84
|
+
var _k = useState(null), screenShareTile = _k[0], setScreenShareTile = _k[1];
|
|
85
|
+
var _l = useState([]), attendees = _l[0], setAttendees = _l[1];
|
|
86
|
+
var toggleVideo = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
87
|
+
return __generator(this, function (_a) {
|
|
88
|
+
NativeFunction.setCameraOn(!videoIsEnabled);
|
|
89
|
+
if (videoIsEnabled) {
|
|
90
|
+
setLocalTileId(null);
|
|
91
|
+
}
|
|
92
|
+
setVideoIsEnabled(function (v) { return !v; });
|
|
93
|
+
return [2 /*return*/];
|
|
94
|
+
});
|
|
95
|
+
}); };
|
|
96
|
+
var toggleMic = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
97
|
+
return __generator(this, function (_a) {
|
|
98
|
+
NativeFunction.setMute(!muted);
|
|
99
|
+
setMuted(function (m) { return !m; });
|
|
100
|
+
return [2 /*return*/];
|
|
101
|
+
});
|
|
102
|
+
}); };
|
|
82
103
|
var emitter = getSDKEventEmitter();
|
|
83
104
|
useEffect(function () {
|
|
84
105
|
var startSubscription = emitter.addListener(MobileSDKEvent.OnMeetingStart, function () {
|
|
85
106
|
setInMeeting(true);
|
|
86
107
|
setIsLoading(false);
|
|
87
108
|
});
|
|
88
|
-
|
|
89
|
-
|
|
109
|
+
// called when user clicks Leave Meeting or meeting is ended by host
|
|
110
|
+
var endSubscription = emitter.addListener(MobileSDKEvent.OnMeetingEnd, function (a) {
|
|
111
|
+
setInMeeting(false);
|
|
90
112
|
setIsLoading(false);
|
|
91
113
|
});
|
|
92
|
-
var joinSubscription = emitter.addListener(MobileSDKEvent.OnAttendeesJoin, function (
|
|
93
|
-
var attendeeId =
|
|
114
|
+
var joinSubscription = emitter.addListener(MobileSDKEvent.OnAttendeesJoin, function (added) {
|
|
115
|
+
var attendeeId = added.attendeeId, externalUserId = added.externalUserId;
|
|
94
116
|
setAttendees(function (as) { return !as.find(function (a) { return a.attendeeId === attendeeId; })
|
|
95
117
|
? __spreadArray([{ attendeeId: attendeeId, externalUserId: externalUserId, muted: false }], as, true) : as; });
|
|
96
118
|
});
|
|
97
|
-
var leaveSubscription = emitter.addListener(MobileSDKEvent.OnAttendeesLeave, function (
|
|
98
|
-
var attendeeId =
|
|
119
|
+
var leaveSubscription = emitter.addListener(MobileSDKEvent.OnAttendeesLeave, function (leaving) {
|
|
120
|
+
var attendeeId = leaving.attendeeId;
|
|
99
121
|
setAttendees(function (as) { return as.filter(function (a) { return a.attendeeId !== attendeeId; }); });
|
|
100
122
|
});
|
|
101
123
|
var errorSubscription = emitter.addListener(MobileSDKEvent.OnError, function (message) {
|
|
@@ -112,12 +134,15 @@ export var WithVideo = function (_a) {
|
|
|
112
134
|
setScreenShareTile(tileState.tileId);
|
|
113
135
|
return;
|
|
114
136
|
}
|
|
115
|
-
|
|
137
|
+
if (tileState.isLocal) {
|
|
138
|
+
setLocalTileId(tileState.tileId);
|
|
139
|
+
}
|
|
140
|
+
setVideoTiles(function (v) { return __spreadArray(__spreadArray([], v, true), [tileState.tileId], false); });
|
|
116
141
|
setVideoIsEnabled(function (v) { return tileState.isLocal ? true : v; });
|
|
117
142
|
});
|
|
118
143
|
var removeVideoSubscription = emitter.addListener(MobileSDKEvent.OnRemoveVideoTile, function (tileState) {
|
|
119
144
|
if (tileState.isScreenShare) {
|
|
120
|
-
setScreenShareTile(
|
|
145
|
+
setScreenShareTile(null);
|
|
121
146
|
return;
|
|
122
147
|
}
|
|
123
148
|
setVideoTiles(function (vs) { return vs.filter(function (v) { return v !== tileState.tileId; }); });
|
|
@@ -135,11 +160,38 @@ export var WithVideo = function (_a) {
|
|
|
135
160
|
removeVideoSubscription.remove();
|
|
136
161
|
};
|
|
137
162
|
}, [emitter]);
|
|
138
|
-
return (_jsx(CurrentCallContext.Provider, __assign({ value: {
|
|
163
|
+
return (_jsx(CurrentCallContext.Provider, __assign({ value: {
|
|
164
|
+
isHost: isHost,
|
|
165
|
+
setIsHost: setIsHost,
|
|
166
|
+
attendees: attendees,
|
|
167
|
+
localTileId: localTileId,
|
|
168
|
+
videoTiles: videoTiles,
|
|
169
|
+
meeting: meeting,
|
|
170
|
+
shareScreenId: screenShareTile,
|
|
171
|
+
setMeeting: setMeeting,
|
|
172
|
+
videoIsEnabled: videoIsEnabled,
|
|
173
|
+
toggleVideo: toggleVideo,
|
|
174
|
+
microphoneIsEnabled: !muted,
|
|
175
|
+
toggleMicrophone: toggleMic,
|
|
176
|
+
} }, { children: children }), void 0));
|
|
177
|
+
};
|
|
178
|
+
export var useRemoteViews = function (props) {
|
|
179
|
+
if (props === void 0) { props = {}; }
|
|
180
|
+
var _a = React.useContext(CurrentCallContext), localTileId = _a.localTileId, videoTiles = _a.videoTiles;
|
|
181
|
+
var nonLocal = videoTiles.filter(function (v) { return v !== localTileId; });
|
|
182
|
+
return nonLocal.map(function (tileId) { var _a; return _jsx(RNVideoView, { style: (_a = convert_CSS_to_RNStyles(props.style)) !== null && _a !== void 0 ? _a : styles.video, tileId: tileId }, tileId); });
|
|
183
|
+
};
|
|
184
|
+
export var SelfView = function (_a) {
|
|
185
|
+
var _b;
|
|
186
|
+
var style = _a.style;
|
|
187
|
+
var localTileId = React.useContext(CurrentCallContext).localTileId;
|
|
188
|
+
if (localTileId === null)
|
|
189
|
+
return null; // localTileId may be zero, don't return null on simple falsey check
|
|
190
|
+
return (_jsx(RNVideoView, { style: (_b = convert_CSS_to_RNStyles(style)) !== null && _b !== void 0 ? _b : styles.video, tileId: localTileId }, void 0));
|
|
139
191
|
};
|
|
140
192
|
export var useStartVideoCall = function () {
|
|
141
193
|
var session = useSession();
|
|
142
|
-
var _a = React.useContext(CurrentCallContext), meeting = _a.meeting, setMeeting = _a.setMeeting, videoIsEnabled = _a.videoIsEnabled, toggleVideo = _a.toggleVideo;
|
|
194
|
+
var _a = React.useContext(CurrentCallContext), meeting = _a.meeting, setMeeting = _a.setMeeting, setIsHost = _a.setIsHost, videoIsEnabled = _a.videoIsEnabled, toggleVideo = _a.toggleVideo;
|
|
143
195
|
var _b = useState(false), starting = _b[0], setStarting = _b[1];
|
|
144
196
|
var _c = useState(false), ending = _c[0], setEnding = _c[1];
|
|
145
197
|
var createAndStartMeeting = function (initialAttendees) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -156,6 +208,7 @@ export var useStartVideoCall = function () {
|
|
|
156
208
|
}
|
|
157
209
|
NativeFunction.startMeeting(meeting_1.Meeting, host.Attendee);
|
|
158
210
|
setMeeting(meeting_1.Meeting);
|
|
211
|
+
setIsHost(true);
|
|
159
212
|
return [3 /*break*/, 4];
|
|
160
213
|
case 2:
|
|
161
214
|
err_1 = _b.sent();
|
|
@@ -205,7 +258,16 @@ export var useStartVideoCall = function () {
|
|
|
205
258
|
}
|
|
206
259
|
});
|
|
207
260
|
}); };
|
|
208
|
-
return {
|
|
261
|
+
return {
|
|
262
|
+
meeting: meeting,
|
|
263
|
+
videoIsEnabled: videoIsEnabled,
|
|
264
|
+
starting: starting,
|
|
265
|
+
ending: ending,
|
|
266
|
+
toggleVideo: toggleVideo,
|
|
267
|
+
createAndStartMeeting: createAndStartMeeting,
|
|
268
|
+
addAttendees: addAttendees,
|
|
269
|
+
endMeeting: endMeeting,
|
|
270
|
+
};
|
|
209
271
|
};
|
|
210
272
|
export var useJoinVideoCall = function () {
|
|
211
273
|
var _a = React.useContext(CurrentCallContext), meeting = _a.meeting, setMeeting = _a.setMeeting, videoIsEnabled = _a.videoIsEnabled, toggleVideo = _a.toggleVideo;
|
|
@@ -220,23 +282,12 @@ export var useJoinVideoCall = function () {
|
|
|
220
282
|
export var VideoTileGrid = function () {
|
|
221
283
|
var _a = useContext(CurrentCallContext),
|
|
222
284
|
// attendees,
|
|
223
|
-
|
|
224
|
-
return (_jsxs(
|
|
285
|
+
videoTiles = _a.videoTiles, toggleVideo = _a.toggleVideo;
|
|
286
|
+
return (_jsxs(Flex, __assign({ column: true, justifyContent: "space-between", alignItems: "center" }, { children: [_jsx(Flex, __assign({ style: styles.videoContainer }, { children: videoTiles.length > 0 ? videoTiles.map(function (tileId) {
|
|
225
287
|
return _jsx(RNVideoView, { style: styles.video, tileId: tileId }, tileId);
|
|
226
|
-
}) : _jsx(
|
|
227
|
-
_jsxs(React.Fragment, { children: [_jsx(Text, __assign({ style: styles.title }, { children: "Screen Share" }), void 0), _jsx(View, __assign({ style: styles.videoContainer }, { children: _jsx(RNVideoView, { style: styles.screenShare, tileId: shareScreenId }, shareScreenId) }), void 0)] }, void 0), _jsx(Text, __assign({ style: styles.title }, { children: "Attendee" }), void 0)] }), void 0));
|
|
288
|
+
}) : _jsx(Typography, __assign({ style: styles.subtitle }, { children: "No one is sharing video at this moment" }), void 0) }), void 0), _jsxs(Flex, __assign({ justifyContent: "space-between", style: { height: '5%' } }, { children: [_jsx(Button, __assign({ onPress: toggleVideo }, { children: "Toggle Video" }), void 0), _jsx(Button, __assign({ onPress: function () { return NativeFunction.stopMeeting(); } }, { children: " Leave Meeting " }), void 0)] }), void 0)] }), void 0));
|
|
228
289
|
};
|
|
229
290
|
var styles = StyleSheet.create({
|
|
230
|
-
container: {
|
|
231
|
-
justifyContent: 'center',
|
|
232
|
-
alignItems: 'center',
|
|
233
|
-
height: '95%',
|
|
234
|
-
backgroundColor: 'white'
|
|
235
|
-
},
|
|
236
|
-
buttonContainer: {
|
|
237
|
-
flexDirection: 'row',
|
|
238
|
-
justifyContent: 'space-between',
|
|
239
|
-
},
|
|
240
291
|
title: {
|
|
241
292
|
fontSize: 30,
|
|
242
293
|
fontWeight: '700'
|
|
@@ -250,6 +301,7 @@ var styles = StyleSheet.create({
|
|
|
250
301
|
flexDirection: 'row',
|
|
251
302
|
justifyContent: 'space-around',
|
|
252
303
|
width: '100%',
|
|
304
|
+
height: '95%',
|
|
253
305
|
// This is an existing React Native issue:
|
|
254
306
|
// When you create a native android component
|
|
255
307
|
// that use GLSurfaceView (We use this internally), the entire screen will
|
|
@@ -257,8 +309,7 @@ var styles = StyleSheet.create({
|
|
|
257
309
|
overflow: 'hidden'
|
|
258
310
|
},
|
|
259
311
|
video: {
|
|
260
|
-
width: '
|
|
261
|
-
margin: '1%',
|
|
312
|
+
width: '100%',
|
|
262
313
|
aspectRatio: 16 / 9,
|
|
263
314
|
},
|
|
264
315
|
screenShare: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.native.js","sourceRoot":"","sources":["../../src/video.native.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,sGAAsG;AACtG,oDAAoD;AACpD;;;GAGG;AAEH,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"video.native.js","sourceRoot":"","sources":["../../src/video.native.tsx"],"names":[],"mappings":"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"}
|