@tellescope/video-chat 0.0.12 → 0.0.16
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 +3 -0
- package/lib/cjs/controls.d.ts.map +1 -0
- package/lib/cjs/controls.js +23 -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 +11 -0
- package/lib/cjs/native/RNVideoRenderView.d.ts.map +1 -0
- package/lib/cjs/native/RNVideoRenderView.js +62 -0
- package/lib/cjs/native/RNVideoRenderView.js.map +1 -0
- package/lib/cjs/native/bridge.d.ts +36 -0
- package/lib/cjs/native/bridge.d.ts.map +1 -0
- package/lib/cjs/native/bridge.js +59 -0
- package/lib/cjs/native/bridge.js.map +1 -0
- package/lib/cjs/video.d.ts +11 -3
- package/lib/cjs/video.d.ts.map +1 -1
- package/lib/cjs/video.js +32 -5
- package/lib/cjs/video.js.map +1 -1
- package/lib/cjs/video.native.d.ts +6 -1
- package/lib/cjs/video.native.d.ts.map +1 -1
- package/lib/cjs/video.native.js +78 -33
- package/lib/cjs/video.native.js.map +1 -1
- package/lib/esm/components.d.ts +1 -0
- package/lib/esm/components.d.ts.map +1 -0
- package/lib/esm/components.js +3 -0
- package/lib/esm/components.js.map +1 -0
- package/lib/esm/controls.d.ts +3 -0
- package/lib/esm/controls.d.ts.map +1 -0
- package/lib/esm/controls.js +15 -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 +11 -0
- package/lib/esm/native/RNVideoRenderView.d.ts.map +1 -0
- package/lib/esm/native/RNVideoRenderView.js +56 -0
- package/lib/esm/native/RNVideoRenderView.js.map +1 -0
- package/lib/esm/native/bridge.d.ts +36 -0
- package/lib/esm/native/bridge.d.ts.map +1 -0
- package/lib/esm/native/bridge.js +55 -0
- package/lib/esm/native/bridge.js.map +1 -0
- package/lib/esm/video.d.ts +11 -3
- package/lib/esm/video.d.ts.map +1 -1
- package/lib/esm/video.js +30 -6
- package/lib/esm/video.js.map +1 -1
- package/lib/esm/video.native.d.ts +6 -1
- package/lib/esm/video.native.d.ts.map +1 -1
- package/lib/esm/video.native.js +77 -34
- package/lib/esm/video.native.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/controls.tsx +33 -0
- package/src/index.native.ts +2 -1
- package/src/index.ts +2 -1
- package/src/native/RNVideoRenderView.tsx +31 -0
- package/src/native/bridge.ts +60 -0
- package/src/video.native.tsx +113 -52
- package/src/video.tsx +39 -14
- package/lib/cjs/chat.d.ts +0 -69
- package/lib/cjs/chat.d.ts.map +0 -1
- package/lib/cjs/chat.js +0 -171
- package/lib/cjs/chat.js.map +0 -1
- package/lib/esm/chat.d.ts +0 -69
- package/lib/esm/chat.d.ts.map +0 -1
- package/lib/esm/chat.js +0 -160
- package/lib/esm/chat.js.map +0 -1
package/lib/esm/video.native.js
CHANGED
|
@@ -63,10 +63,11 @@ 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";
|
|
72
73
|
export var WithVideo = function (_a) {
|
|
@@ -74,28 +75,44 @@ export var WithVideo = function (_a) {
|
|
|
74
75
|
var _b = useState(undefined), meeting = _b[0], setMeeting = _b[1];
|
|
75
76
|
var _c = useState(false), inMeeting = _c[0], setInMeeting = _c[1];
|
|
76
77
|
var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
|
|
77
|
-
var _e = useState(false),
|
|
78
|
-
var _f = useState(
|
|
79
|
-
var _g = useState(
|
|
80
|
-
var _h = useState(
|
|
81
|
-
var
|
|
78
|
+
var _e = useState(false), muted = _e[0], setMuted = _e[1];
|
|
79
|
+
var _f = useState(false), videoIsEnabled = _f[0], setVideoIsEnabled = _f[1];
|
|
80
|
+
var _g = useState([]), videoTiles = _g[0], setVideoTiles = _g[1];
|
|
81
|
+
var _h = useState(null), localTileId = _h[0], setLocalTileId = _h[1];
|
|
82
|
+
var _j = useState(null), screenShareTile = _j[0], setScreenShareTile = _j[1];
|
|
83
|
+
var _k = useState([]), attendees = _k[0], setAttendees = _k[1];
|
|
84
|
+
var toggleVideo = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
85
|
+
return __generator(this, function (_a) {
|
|
86
|
+
NativeFunction.setCameraOn(!videoIsEnabled);
|
|
87
|
+
setVideoIsEnabled(function (v) { return !v; });
|
|
88
|
+
return [2 /*return*/];
|
|
89
|
+
});
|
|
90
|
+
}); };
|
|
91
|
+
var toggleMic = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
92
|
+
return __generator(this, function (_a) {
|
|
93
|
+
NativeFunction.setMute(!muted);
|
|
94
|
+
setMuted(function (m) { return !m; });
|
|
95
|
+
return [2 /*return*/];
|
|
96
|
+
});
|
|
97
|
+
}); };
|
|
82
98
|
var emitter = getSDKEventEmitter();
|
|
83
99
|
useEffect(function () {
|
|
84
100
|
var startSubscription = emitter.addListener(MobileSDKEvent.OnMeetingStart, function () {
|
|
85
101
|
setInMeeting(true);
|
|
86
102
|
setIsLoading(false);
|
|
87
103
|
});
|
|
88
|
-
|
|
89
|
-
|
|
104
|
+
// called when user clicks Leave Meeting or meeting is ended by host
|
|
105
|
+
var endSubscription = emitter.addListener(MobileSDKEvent.OnMeetingEnd, function (a) {
|
|
106
|
+
setInMeeting(false);
|
|
90
107
|
setIsLoading(false);
|
|
91
108
|
});
|
|
92
|
-
var joinSubscription = emitter.addListener(MobileSDKEvent.OnAttendeesJoin, function (
|
|
93
|
-
var attendeeId =
|
|
109
|
+
var joinSubscription = emitter.addListener(MobileSDKEvent.OnAttendeesJoin, function (added) {
|
|
110
|
+
var attendeeId = added.attendeeId, externalUserId = added.externalUserId;
|
|
94
111
|
setAttendees(function (as) { return !as.find(function (a) { return a.attendeeId === attendeeId; })
|
|
95
112
|
? __spreadArray([{ attendeeId: attendeeId, externalUserId: externalUserId, muted: false }], as, true) : as; });
|
|
96
113
|
});
|
|
97
|
-
var leaveSubscription = emitter.addListener(MobileSDKEvent.OnAttendeesLeave, function (
|
|
98
|
-
var attendeeId =
|
|
114
|
+
var leaveSubscription = emitter.addListener(MobileSDKEvent.OnAttendeesLeave, function (leaving) {
|
|
115
|
+
var attendeeId = leaving.attendeeId;
|
|
99
116
|
setAttendees(function (as) { return as.filter(function (a) { return a.attendeeId !== attendeeId; }); });
|
|
100
117
|
});
|
|
101
118
|
var errorSubscription = emitter.addListener(MobileSDKEvent.OnError, function (message) {
|
|
@@ -112,12 +129,15 @@ export var WithVideo = function (_a) {
|
|
|
112
129
|
setScreenShareTile(tileState.tileId);
|
|
113
130
|
return;
|
|
114
131
|
}
|
|
115
|
-
|
|
132
|
+
if (tileState.isLocal) {
|
|
133
|
+
setLocalTileId(tileState.tileId);
|
|
134
|
+
}
|
|
135
|
+
setVideoTiles(function (v) { return __spreadArray(__spreadArray([], v, true), [tileState.tileId], false); });
|
|
116
136
|
setVideoIsEnabled(function (v) { return tileState.isLocal ? true : v; });
|
|
117
137
|
});
|
|
118
138
|
var removeVideoSubscription = emitter.addListener(MobileSDKEvent.OnRemoveVideoTile, function (tileState) {
|
|
119
139
|
if (tileState.isScreenShare) {
|
|
120
|
-
setScreenShareTile(
|
|
140
|
+
setScreenShareTile(null);
|
|
121
141
|
return;
|
|
122
142
|
}
|
|
123
143
|
setVideoTiles(function (vs) { return vs.filter(function (v) { return v !== tileState.tileId; }); });
|
|
@@ -135,7 +155,32 @@ export var WithVideo = function (_a) {
|
|
|
135
155
|
removeVideoSubscription.remove();
|
|
136
156
|
};
|
|
137
157
|
}, [emitter]);
|
|
138
|
-
return (_jsx(CurrentCallContext.Provider, __assign({ value: {
|
|
158
|
+
return (_jsx(CurrentCallContext.Provider, __assign({ value: {
|
|
159
|
+
attendees: attendees,
|
|
160
|
+
localTileId: localTileId,
|
|
161
|
+
videoTiles: videoTiles,
|
|
162
|
+
meeting: meeting,
|
|
163
|
+
shareScreenId: screenShareTile,
|
|
164
|
+
setMeeting: setMeeting,
|
|
165
|
+
videoIsEnabled: videoIsEnabled,
|
|
166
|
+
toggleVideo: toggleVideo,
|
|
167
|
+
microphoneIsEnabled: !muted,
|
|
168
|
+
toggleMicrophone: toggleMic,
|
|
169
|
+
} }, { children: children }), void 0));
|
|
170
|
+
};
|
|
171
|
+
export var useRemoteViews = function (_a) {
|
|
172
|
+
var style = _a.style;
|
|
173
|
+
var _b = React.useContext(CurrentCallContext), localTileId = _b.localTileId, videoTiles = _b.videoTiles;
|
|
174
|
+
var nonLocal = videoTiles.filter(function (v) { return v !== localTileId; });
|
|
175
|
+
return nonLocal.map(function (tileId) { var _a; return _jsx(RNVideoView, { style: (_a = convert_CSS_to_RNStyles(style)) !== null && _a !== void 0 ? _a : styles.video, tileId: tileId }, void 0); });
|
|
176
|
+
};
|
|
177
|
+
export var SelfView = function (_a) {
|
|
178
|
+
var _b;
|
|
179
|
+
var style = _a.style;
|
|
180
|
+
var localTileId = React.useContext(CurrentCallContext).localTileId;
|
|
181
|
+
if (!localTileId)
|
|
182
|
+
return null;
|
|
183
|
+
return (_jsx(RNVideoView, { style: (_b = convert_CSS_to_RNStyles(style)) !== null && _b !== void 0 ? _b : styles.video, tileId: localTileId }, void 0));
|
|
139
184
|
};
|
|
140
185
|
export var useStartVideoCall = function () {
|
|
141
186
|
var session = useSession();
|
|
@@ -205,7 +250,16 @@ export var useStartVideoCall = function () {
|
|
|
205
250
|
}
|
|
206
251
|
});
|
|
207
252
|
}); };
|
|
208
|
-
return {
|
|
253
|
+
return {
|
|
254
|
+
meeting: meeting,
|
|
255
|
+
videoIsEnabled: videoIsEnabled,
|
|
256
|
+
starting: starting,
|
|
257
|
+
ending: ending,
|
|
258
|
+
toggleVideo: toggleVideo,
|
|
259
|
+
createAndStartMeeting: createAndStartMeeting,
|
|
260
|
+
addAttendees: addAttendees,
|
|
261
|
+
endMeeting: endMeeting,
|
|
262
|
+
};
|
|
209
263
|
};
|
|
210
264
|
export var useJoinVideoCall = function () {
|
|
211
265
|
var _a = React.useContext(CurrentCallContext), meeting = _a.meeting, setMeeting = _a.setMeeting, videoIsEnabled = _a.videoIsEnabled, toggleVideo = _a.toggleVideo;
|
|
@@ -220,23 +274,12 @@ export var useJoinVideoCall = function () {
|
|
|
220
274
|
export var VideoTileGrid = function () {
|
|
221
275
|
var _a = useContext(CurrentCallContext),
|
|
222
276
|
// attendees,
|
|
223
|
-
|
|
224
|
-
return (_jsxs(
|
|
277
|
+
videoTiles = _a.videoTiles, toggleVideo = _a.toggleVideo;
|
|
278
|
+
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
279
|
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));
|
|
280
|
+
}) : _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
281
|
};
|
|
229
282
|
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
283
|
title: {
|
|
241
284
|
fontSize: 30,
|
|
242
285
|
fontWeight: '700'
|
|
@@ -250,6 +293,7 @@ var styles = StyleSheet.create({
|
|
|
250
293
|
flexDirection: 'row',
|
|
251
294
|
justifyContent: 'space-around',
|
|
252
295
|
width: '100%',
|
|
296
|
+
height: '95%',
|
|
253
297
|
// This is an existing React Native issue:
|
|
254
298
|
// When you create a native android component
|
|
255
299
|
// that use GLSurfaceView (We use this internally), the entire screen will
|
|
@@ -257,8 +301,7 @@ var styles = StyleSheet.create({
|
|
|
257
301
|
overflow: 'hidden'
|
|
258
302
|
},
|
|
259
303
|
video: {
|
|
260
|
-
width: '
|
|
261
|
-
margin: '1%',
|
|
304
|
+
width: '100%',
|
|
262
305
|
aspectRatio: 16 / 9,
|
|
263
306
|
},
|
|
264
307
|
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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"}
|