@techsee/techsee-nway-media-service-client 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/lib/assets/img/avatar.png +0 -0
- package/lib/assets/img/camera-button.png +0 -0
- package/lib/assets/img/exclamation-mark.png +0 -0
- package/lib/assets/img/media-rejected/chrome1.png +0 -0
- package/lib/assets/img/media-rejected/chrome2.png +0 -0
- package/lib/assets/img/media-rejected/chrome3.png +0 -0
- package/lib/assets/img/media-rejected/chrome4.png +0 -0
- package/lib/assets/img/media-rejected/close_button.png +0 -0
- package/lib/assets/img/media-rejected/ios1.png +0 -0
- package/lib/assets/img/media-rejected/ios2.png +0 -0
- package/lib/components/Avatar/Avatar.scss +45 -0
- package/lib/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.scss +31 -0
- package/lib/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.scss +6 -0
- package/lib/components/LoaderSpinner/LoaderSpinner.scss +69 -0
- package/lib/components/MagicMarker/MagicMarker.scss +18 -0
- package/lib/components/MediaRejectedModal/MediaRejectedModal.scss +75 -0
- package/lib/components/Multiparty.scss +8 -0
- package/lib/components/Video/Video.scss +10 -0
- package/lib/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.scss +49 -0
- package/lib/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.scss +128 -0
- package/lib/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.scss +34 -0
- package/lib/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.scss +15 -0
- package/lib/components/VideoPlaceholders/Tooltip.scss +65 -0
- package/lib/src/components/Avatar/Avatar.d.ts +8 -0
- package/lib/src/components/Avatar/Avatar.d.ts.map +1 -0
- package/lib/src/components/Avatar/Avatar.js +26 -0
- package/lib/src/components/Avatar/Avatar.js.map +1 -0
- package/lib/src/components/ButtonPanels/EndMeetingButtonPanel/EndMeetingButtonPanel.d.ts +7 -0
- package/lib/src/components/ButtonPanels/EndMeetingButtonPanel/EndMeetingButtonPanel.d.ts.map +1 -0
- package/lib/src/components/ButtonPanels/EndMeetingButtonPanel/EndMeetingButtonPanel.js +11 -0
- package/lib/src/components/ButtonPanels/EndMeetingButtonPanel/EndMeetingButtonPanel.js.map +1 -0
- package/lib/src/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.d.ts +21 -0
- package/lib/src/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.d.ts.map +1 -0
- package/lib/src/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.js +36 -0
- package/lib/src/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.js.map +1 -0
- package/lib/src/components/ButtonPanels/MultipartyButton/MultipartyButton.d.ts +18 -0
- package/lib/src/components/ButtonPanels/MultipartyButton/MultipartyButton.d.ts.map +1 -0
- package/lib/src/components/ButtonPanels/MultipartyButton/MultipartyButton.js +35 -0
- package/lib/src/components/ButtonPanels/MultipartyButton/MultipartyButton.js.map +1 -0
- package/lib/src/components/ButtonPanels/PinButtonPanel/PinButtonPanel.d.ts +10 -0
- package/lib/src/components/ButtonPanels/PinButtonPanel/PinButtonPanel.d.ts.map +1 -0
- package/lib/src/components/ButtonPanels/PinButtonPanel/PinButtonPanel.js +22 -0
- package/lib/src/components/ButtonPanels/PinButtonPanel/PinButtonPanel.js.map +1 -0
- package/lib/src/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.d.ts +9 -0
- package/lib/src/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.d.ts.map +1 -0
- package/lib/src/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.js +15 -0
- package/lib/src/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.js.map +1 -0
- package/lib/src/components/ButtonPanels/index.d.ts +6 -0
- package/lib/src/components/ButtonPanels/index.d.ts.map +1 -0
- package/lib/src/components/ButtonPanels/index.js +14 -0
- package/lib/src/components/ButtonPanels/index.js.map +1 -0
- package/lib/src/components/LoaderSpinner/LoaderSpinner.d.ts +8 -0
- package/lib/src/components/LoaderSpinner/LoaderSpinner.d.ts.map +1 -0
- package/lib/src/components/LoaderSpinner/LoaderSpinner.js +22 -0
- package/lib/src/components/LoaderSpinner/LoaderSpinner.js.map +1 -0
- package/lib/src/components/MagicMarker/MagicMarkerComponent.d.ts +36 -0
- package/lib/src/components/MagicMarker/MagicMarkerComponent.d.ts.map +1 -0
- package/lib/src/components/MagicMarker/MagicMarkerComponent.js +112 -0
- package/lib/src/components/MagicMarker/MagicMarkerComponent.js.map +1 -0
- package/lib/src/components/MagicMarker/index.d.ts +2 -0
- package/lib/src/components/MagicMarker/index.d.ts.map +1 -0
- package/lib/src/components/MagicMarker/index.js +6 -0
- package/lib/src/components/MagicMarker/index.js.map +1 -0
- package/lib/src/components/MediaRejectedModal/MediaRejectedModal.d.ts +24 -0
- package/lib/src/components/MediaRejectedModal/MediaRejectedModal.d.ts.map +1 -0
- package/lib/src/components/MediaRejectedModal/MediaRejectedModal.js +45 -0
- package/lib/src/components/MediaRejectedModal/MediaRejectedModal.js.map +1 -0
- package/lib/src/components/Multiparty.d.ts +23 -0
- package/lib/src/components/Multiparty.d.ts.map +1 -0
- package/lib/src/components/Multiparty.js +163 -0
- package/lib/src/components/Multiparty.js.map +1 -0
- package/lib/src/components/Multiparty.types.d.ts +11 -0
- package/lib/src/components/Multiparty.types.d.ts.map +1 -0
- package/lib/src/components/Multiparty.types.js +9 -0
- package/lib/src/components/Multiparty.types.js.map +1 -0
- package/lib/src/components/Video/Video.d.ts +22 -0
- package/lib/src/components/Video/Video.d.ts.map +1 -0
- package/lib/src/components/Video/Video.js +23 -0
- package/lib/src/components/Video/Video.js.map +1 -0
- package/lib/src/components/Video/VideoPlaceholder.d.ts +23 -0
- package/lib/src/components/Video/VideoPlaceholder.d.ts.map +1 -0
- package/lib/src/components/Video/VideoPlaceholder.js +30 -0
- package/lib/src/components/Video/VideoPlaceholder.js.map +1 -0
- package/lib/src/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.d.ts +23 -0
- package/lib/src/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.d.ts.map +1 -0
- package/lib/src/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.js +35 -0
- package/lib/src/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.js.map +1 -0
- package/lib/src/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.d.ts +34 -0
- package/lib/src/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.d.ts.map +1 -0
- package/lib/src/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.js +65 -0
- package/lib/src/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.js.map +1 -0
- package/lib/src/components/VideoLayouts/VideoLayoutManager.d.ts +29 -0
- package/lib/src/components/VideoLayouts/VideoLayoutManager.d.ts.map +1 -0
- package/lib/src/components/VideoLayouts/VideoLayoutManager.js +23 -0
- package/lib/src/components/VideoLayouts/VideoLayoutManager.js.map +1 -0
- package/lib/src/components/VideoLayouts/index.d.ts +2 -0
- package/lib/src/components/VideoLayouts/index.d.ts.map +1 -0
- package/lib/src/components/VideoLayouts/index.js +6 -0
- package/lib/src/components/VideoLayouts/index.js.map +1 -0
- package/lib/src/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.d.ts +12 -0
- package/lib/src/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.d.ts.map +1 -0
- package/lib/src/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.js +36 -0
- package/lib/src/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.js.map +1 -0
- package/lib/src/components/VideoPlaceholders/CameraOffButton.d.ts +4 -0
- package/lib/src/components/VideoPlaceholders/CameraOffButton.d.ts.map +1 -0
- package/lib/src/components/VideoPlaceholders/CameraOffButton.js +9 -0
- package/lib/src/components/VideoPlaceholders/CameraOffButton.js.map +1 -0
- package/lib/src/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.d.ts +12 -0
- package/lib/src/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.d.ts.map +1 -0
- package/lib/src/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.js +40 -0
- package/lib/src/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.js.map +1 -0
- package/lib/src/index.d.ts +7 -0
- package/lib/src/index.d.ts.map +1 -0
- package/lib/src/index.js +30 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/services/ConnectionManager.d.ts +27 -0
- package/lib/src/services/ConnectionManager.d.ts.map +1 -0
- package/lib/src/services/ConnectionManager.js +123 -0
- package/lib/src/services/ConnectionManager.js.map +1 -0
- package/lib/src/services/MediaStateService.d.ts +25 -0
- package/lib/src/services/MediaStateService.d.ts.map +1 -0
- package/lib/src/services/MediaStateService.js +84 -0
- package/lib/src/services/MediaStateService.js.map +1 -0
- package/lib/src/services/MultipartyController.d.ts +29 -0
- package/lib/src/services/MultipartyController.d.ts.map +1 -0
- package/lib/src/services/MultipartyController.js +300 -0
- package/lib/src/services/MultipartyController.js.map +1 -0
- package/lib/src/services/MultipartyEventTypes.d.ts +92 -0
- package/lib/src/services/MultipartyEventTypes.d.ts.map +1 -0
- package/lib/src/services/MultipartyEventTypes.js +19 -0
- package/lib/src/services/MultipartyEventTypes.js.map +1 -0
- package/lib/src/services/trafficLogManager.d.ts +21 -0
- package/lib/src/services/trafficLogManager.d.ts.map +1 -0
- package/lib/src/services/trafficLogManager.js +130 -0
- package/lib/src/services/trafficLogManager.js.map +1 -0
- package/lib/src/services/types.d.ts +39 -0
- package/lib/src/services/types.d.ts.map +1 -0
- package/lib/src/services/types.js +47 -0
- package/lib/src/services/types.js.map +1 -0
- package/lib/src/utils/ClientConstants.d.ts +3 -0
- package/lib/src/utils/ClientConstants.d.ts.map +1 -0
- package/lib/src/utils/ClientConstants.js +6 -0
- package/lib/src/utils/ClientConstants.js.map +1 -0
- package/lib/src/utils/MergingStore.d.ts +9 -0
- package/lib/src/utils/MergingStore.d.ts.map +1 -0
- package/lib/src/utils/MergingStore.js +85 -0
- package/lib/src/utils/MergingStore.js.map +1 -0
- package/lib/src/utils/detectOsType.d.ts +8 -0
- package/lib/src/utils/detectOsType.d.ts.map +1 -0
- package/lib/src/utils/detectOsType.js +23 -0
- package/lib/src/utils/detectOsType.js.map +1 -0
- package/lib/src/utils/index.d.ts +5 -0
- package/lib/src/utils/index.d.ts.map +1 -0
- package/lib/src/utils/index.js +14 -0
- package/lib/src/utils/index.js.map +1 -0
- package/lib/src/utils/useEvent.d.ts +8 -0
- package/lib/src/utils/useEvent.d.ts.map +1 -0
- package/lib/src/utils/useEvent.js +24 -0
- package/lib/src/utils/useEvent.js.map +1 -0
- package/lib/test/services/ConnectionManager.unit.d.ts +2 -0
- package/lib/test/services/ConnectionManager.unit.d.ts.map +1 -0
- package/lib/test/services/ConnectionManager.unit.js +207 -0
- package/lib/test/services/ConnectionManager.unit.js.map +1 -0
- package/package.json +108 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.Multiparty = void 0;
|
|
51
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
52
|
+
var react_1 = require("react");
|
|
53
|
+
var MediaConstants_1 = require("@techsee/techsee-nway-media-service/lib/MediaConstants");
|
|
54
|
+
var MultiParty_1 = require("@techsee/techsee-nway-media-service/lib/MultiParty");
|
|
55
|
+
var MultipartyController_1 = require("../services/MultipartyController");
|
|
56
|
+
var types_1 = require("../services/types");
|
|
57
|
+
var utils_1 = require("../utils");
|
|
58
|
+
var MultipartyEventTypes_1 = require("../services/MultipartyEventTypes");
|
|
59
|
+
var MediaRejectedModal_1 = require("./MediaRejectedModal/MediaRejectedModal");
|
|
60
|
+
var Multiparty_types_1 = require("./Multiparty.types");
|
|
61
|
+
var VideoLayouts_1 = require("./VideoLayouts");
|
|
62
|
+
require("@techsee/techsee-ui-common/lib/_shared/icons.css");
|
|
63
|
+
require("./Multiparty.scss");
|
|
64
|
+
var Multiparty = function (_a) {
|
|
65
|
+
var controller = _a.controller, translations = _a.translations, isPeerMediaPermissionRejected = _a.isPeerMediaPermissionRejected, selectedLayoutType = _a.selectedLayoutType, onPermissionsModalVisibilityChanged = _a.onPermissionsModalVisibilityChanged, onPinnedUserChanged = _a.onPinnedUserChanged, onSnapshotRequested = _a.onSnapshotRequested, onEndMeetingRequested = _a.onEndMeetingRequested, videoOverlay = _a.videoOverlay;
|
|
66
|
+
var _b = (0, react_1.useState)(false), firstPeerDidConnect = _b[0], setFirstPeerDidConnect = _b[1];
|
|
67
|
+
var _c = (0, react_1.useState)(true), wasMediaPermissionsModalClosed = _c[0], setWasMediaPermissionsModalClosed = _c[1];
|
|
68
|
+
var _d = (0, react_1.useState)(false), isOwnMediaPermissionsRejected = _d[0], setOwnMediaPermissionsRejected = _d[1];
|
|
69
|
+
var _e = (0, react_1.useState)(controller.userRole), userRole = _e[0], setUserRole = _e[1];
|
|
70
|
+
var _f = (0, react_1.useState)(controller.pinnedUser), pinnedUser = _f[0], setPinnedUser = _f[1];
|
|
71
|
+
var _g = (0, react_1.useState)(controller.isAudioDisabled), isAudioDisabled = _g[0], setIsAudioDisabled = _g[1];
|
|
72
|
+
var _h = (0, react_1.useState)(false), isAudioMuted = _h[0], setIsAudioMuted = _h[1];
|
|
73
|
+
var _j = (0, react_1.useState)(false), isVideoTurnedOff = _j[0], setIsVideoTurnedOff = _j[1];
|
|
74
|
+
var _k = (0, react_1.useState)(false), isSwitchCameraSupported = _k[0], setIsSwitchCameraSupported = _k[1];
|
|
75
|
+
var _l = (0, react_1.useState)([]), connections = _l[0], setConnections = _l[1];
|
|
76
|
+
var toggleMute = (0, react_1.useCallback)(function () { return controller.toggleAudio(isAudioMuted); }, [controller, isAudioMuted]);
|
|
77
|
+
var switchCamera = (0, react_1.useCallback)(function () { return controller.switchCamera(); }, [controller]);
|
|
78
|
+
var toggleVideo = (0, react_1.useCallback)(function () { return controller.toggleVideo(isVideoTurnedOff); }, [controller, isVideoTurnedOff]);
|
|
79
|
+
var onModalClosed = (0, react_1.useCallback)(function () { return setWasMediaPermissionsModalClosed(false); }, []);
|
|
80
|
+
var onModalOpen = (0, react_1.useCallback)(function () { return setWasMediaPermissionsModalClosed(true); }, []);
|
|
81
|
+
(0, react_1.useEffect)(function () {
|
|
82
|
+
controller.connect();
|
|
83
|
+
setConnections(controller.connections.get());
|
|
84
|
+
return function () { return controller.disconnect(); };
|
|
85
|
+
}, [controller]);
|
|
86
|
+
(0, react_1.useEffect)(function () {
|
|
87
|
+
onPermissionsModalVisibilityChanged === null || onPermissionsModalVisibilityChanged === void 0 ? void 0 : onPermissionsModalVisibilityChanged(isOwnMediaPermissionsRejected && wasMediaPermissionsModalClosed
|
|
88
|
+
? Multiparty_types_1.PermissionsModalVisibilityChangedEvent.MODAL_OPEN
|
|
89
|
+
: Multiparty_types_1.PermissionsModalVisibilityChangedEvent.MODAL_CLOSED);
|
|
90
|
+
}, [isOwnMediaPermissionsRejected, wasMediaPermissionsModalClosed, onPermissionsModalVisibilityChanged]);
|
|
91
|
+
(0, react_1.useEffect)(function () {
|
|
92
|
+
controller.connections.setOwnMediaPermissionsRejected(isOwnMediaPermissionsRejected);
|
|
93
|
+
setConnections(controller.connections.get());
|
|
94
|
+
}, [controller, isOwnMediaPermissionsRejected]);
|
|
95
|
+
(0, react_1.useEffect)(function () {
|
|
96
|
+
controller.connections.setPeerMediaPermissionsRejected(isPeerMediaPermissionRejected || false);
|
|
97
|
+
setConnections(controller.connections.get());
|
|
98
|
+
}, [controller, isPeerMediaPermissionRejected]);
|
|
99
|
+
(0, react_1.useEffect)(function () {
|
|
100
|
+
setUserRole(controller.userRole);
|
|
101
|
+
}, [controller.userRole]);
|
|
102
|
+
(0, react_1.useEffect)(function () {
|
|
103
|
+
setIsAudioDisabled(controller.isAudioDisabled);
|
|
104
|
+
}, [controller.isAudioDisabled]);
|
|
105
|
+
(0, utils_1.useEvent)(controller, MultipartyController_1.MultipartyEventsInternal.setPinnedUser, function (userType) { return setPinnedUser(userType); }, []);
|
|
106
|
+
(0, utils_1.useEvent)(controller, MultipartyEventTypes_1.MultipartyEvents.connectionCreated, function () {
|
|
107
|
+
var updatedConnections = controller.connections.get();
|
|
108
|
+
setConnections(updatedConnections);
|
|
109
|
+
if (updatedConnections.length > 1) {
|
|
110
|
+
setFirstPeerDidConnect(true);
|
|
111
|
+
}
|
|
112
|
+
}, []);
|
|
113
|
+
(0, utils_1.useEvent)(controller, MultipartyEventTypes_1.MultipartyEvents.connectionDestroyed, function () {
|
|
114
|
+
setConnections(controller.connections.get());
|
|
115
|
+
}, []);
|
|
116
|
+
(0, utils_1.useEvent)(controller, MultipartyEventTypes_1.MultipartyEvents.streamCreated, function (_a) {
|
|
117
|
+
var isOwnConnection = _a.isOwnConnection, hasAudio = _a.hasAudio, hasVideo = _a.hasVideo;
|
|
118
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
119
|
+
var supportsCameraSwitch;
|
|
120
|
+
return __generator(this, function (_b) {
|
|
121
|
+
switch (_b.label) {
|
|
122
|
+
case 0:
|
|
123
|
+
setConnections(controller.connections.get());
|
|
124
|
+
if (!isOwnConnection) return [3 /*break*/, 2];
|
|
125
|
+
return [4 /*yield*/, (0, MultiParty_1.checkSupportSwitchCamera)()];
|
|
126
|
+
case 1:
|
|
127
|
+
supportsCameraSwitch = _b.sent();
|
|
128
|
+
setIsSwitchCameraSupported(supportsCameraSwitch);
|
|
129
|
+
setIsAudioMuted(!hasAudio);
|
|
130
|
+
setIsVideoTurnedOff(!hasVideo);
|
|
131
|
+
_b.label = 2;
|
|
132
|
+
case 2: return [2 /*return*/];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
}, []);
|
|
137
|
+
(0, utils_1.useEvent)(controller, MultipartyEventTypes_1.MultipartyEvents.streamPropertyChanged, function (_a) {
|
|
138
|
+
var isOwnConnection = _a.isOwnConnection, hasAudio = _a.hasAudio, hasVideo = _a.hasVideo;
|
|
139
|
+
setConnections(controller.connections.get());
|
|
140
|
+
if (isOwnConnection) {
|
|
141
|
+
setIsAudioMuted(!hasAudio);
|
|
142
|
+
setIsVideoTurnedOff(!hasVideo);
|
|
143
|
+
}
|
|
144
|
+
}, []);
|
|
145
|
+
(0, utils_1.useEvent)(controller, MultipartyEventTypes_1.MultipartyEvents.mediaDeviceAccessDenied, function (_a) {
|
|
146
|
+
var isOwnConnection = _a.isOwnConnection;
|
|
147
|
+
setConnections(controller.connections.get());
|
|
148
|
+
if (isOwnConnection) {
|
|
149
|
+
setOwnMediaPermissionsRejected(true);
|
|
150
|
+
}
|
|
151
|
+
}, []);
|
|
152
|
+
var MediaRejectedModalWithProps = function () {
|
|
153
|
+
if (controller.userRole === MediaConstants_1.SessionClientRole.USER &&
|
|
154
|
+
isOwnMediaPermissionsRejected &&
|
|
155
|
+
wasMediaPermissionsModalClosed) {
|
|
156
|
+
return (0, jsx_runtime_1.jsx)(MediaRejectedModal_1.MediaRejectedModal, { osType: (0, utils_1.detectOSType)(), translations: translations, onClose: onModalClosed });
|
|
157
|
+
}
|
|
158
|
+
return null;
|
|
159
|
+
};
|
|
160
|
+
return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'mutltiparty-container' }, { children: [(0, jsx_runtime_1.jsx)(MediaRejectedModalWithProps, {}), (0, jsx_runtime_1.jsx)(VideoLayouts_1.VideoLayoutManager, { connections: connections, selectedLayoutType: selectedLayoutType, userRole: userRole, pinnedVideo: (0, types_1.toSessionClientRole)(pinnedUser), translations: translations, firstPeerConnected: firstPeerDidConnect, onModalOpen: onModalOpen, onToggleMute: !isAudioDisabled ? toggleMute : undefined, isAudioMuted: isAudioMuted, onToggleVideo: toggleVideo, isVideoTurnedOff: isVideoTurnedOff, onVideoPinned: onPinnedUserChanged, onSwitchCamera: isSwitchCameraSupported ? switchCamera : undefined, onSnapshotRequested: onSnapshotRequested, onEndMeetingRequested: onEndMeetingRequested, videoOverlay: videoOverlay })] })));
|
|
161
|
+
};
|
|
162
|
+
exports.Multiparty = Multiparty;
|
|
163
|
+
//# sourceMappingURL=Multiparty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Multiparty.js","sourceRoot":"","sources":["../../../src/components/Multiparty.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MediaRejectedModalStrings } from './MediaRejectedModal/MediaRejectedModal';
|
|
2
|
+
import { VideoTranslationStrings } from './Video/Video';
|
|
3
|
+
export declare enum PermissionsModalVisibilityChangedEvent {
|
|
4
|
+
MODAL_OPEN = "mediaPermissionsModalOpen",
|
|
5
|
+
MODAL_CLOSED = "mediaPermissionsModalClosed"
|
|
6
|
+
}
|
|
7
|
+
export type OnPermissionsModalVisibilityChangedCb = (type: PermissionsModalVisibilityChangedEvent) => void;
|
|
8
|
+
export type MultipartyTranslationStrings = MediaRejectedModalStrings & VideoTranslationStrings;
|
|
9
|
+
export type OnSnapshotRequestedCb = () => void;
|
|
10
|
+
export type OnEndMeetingRequestedCb = () => void;
|
|
11
|
+
//# sourceMappingURL=Multiparty.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Multiparty.types.d.ts","sourceRoot":"","sources":["../../../src/components/Multiparty.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAC,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAC,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAEtD,oBAAY,sCAAsC;IAC9C,UAAU,8BAA8B;IACxC,YAAY,gCAAgC;CAC/C;AAED,MAAM,MAAM,qCAAqC,GAAG,CAAC,IAAI,EAAE,sCAAsC,KAAK,IAAI,CAAC;AAE3G,MAAM,MAAM,4BAA4B,GAAG,yBAAyB,GAAG,uBAAuB,CAAC;AAC/F,MAAM,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC;AAC/C,MAAM,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PermissionsModalVisibilityChangedEvent = void 0;
|
|
4
|
+
var PermissionsModalVisibilityChangedEvent;
|
|
5
|
+
(function (PermissionsModalVisibilityChangedEvent) {
|
|
6
|
+
PermissionsModalVisibilityChangedEvent["MODAL_OPEN"] = "mediaPermissionsModalOpen";
|
|
7
|
+
PermissionsModalVisibilityChangedEvent["MODAL_CLOSED"] = "mediaPermissionsModalClosed";
|
|
8
|
+
})(PermissionsModalVisibilityChangedEvent = exports.PermissionsModalVisibilityChangedEvent || (exports.PermissionsModalVisibilityChangedEvent = {}));
|
|
9
|
+
//# sourceMappingURL=Multiparty.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Multiparty.types.js","sourceRoot":"","sources":["../../../src/components/Multiparty.types.ts"],"names":[],"mappings":";;;AAGA,IAAY,sCAGX;AAHD,WAAY,sCAAsC;IAC9C,kFAAwC,CAAA;IACxC,sFAA4C,CAAA;AAChD,CAAC,EAHW,sCAAsC,GAAtC,8CAAsC,KAAtC,8CAAsC,QAGjD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import './Video.scss';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { ConnectionDetails } from '../../services/types';
|
|
4
|
+
export type VideoTranslationStrings = Partial<{
|
|
5
|
+
mediaRejectedPermissionDeniedTitle: string;
|
|
6
|
+
mediaRejectedPermissionDeniedText: string;
|
|
7
|
+
mediaRejectedUserDeniedPermission: string;
|
|
8
|
+
mediaRejectedTipClick: string;
|
|
9
|
+
mediaRejectedTipLearn: string;
|
|
10
|
+
mediaRejectedAccessDeniedTooltip: string;
|
|
11
|
+
mediaRejectedAccessDenied: string;
|
|
12
|
+
allPeersDisconnectedCaption: string;
|
|
13
|
+
connectingCaption: string;
|
|
14
|
+
waitingForFirstPeerCaption: string;
|
|
15
|
+
}>;
|
|
16
|
+
type VideoProps = {
|
|
17
|
+
connectionDetails?: ConnectionDetails;
|
|
18
|
+
children: JSX.Element;
|
|
19
|
+
};
|
|
20
|
+
export declare const Video: React.FC<VideoProps>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=Video.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Video.d.ts","sourceRoot":"","sources":["../../../../src/components/Video/Video.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC;IAC1C,kCAAkC,EAAE,MAAM,CAAC;IAC3C,iCAAiC,EAAE,MAAM,CAAC;IAC1C,iCAAiC,EAAE,MAAM,CAAC;IAC1C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gCAAgC,EAAE,MAAM,CAAC;IACzC,yBAAyB,EAAE,MAAM,CAAC;IAClC,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,EAAE,MAAM,CAAC;CACtC,CAAC,CAAC;AAEH,KAAK,UAAU,GAAG;IACd,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAItC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.Video = void 0;
|
|
15
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
16
|
+
require("./Video.scss");
|
|
17
|
+
var Video = function (_a) {
|
|
18
|
+
var _b;
|
|
19
|
+
var connectionDetails = _a.connectionDetails, children = _a.children;
|
|
20
|
+
return ((0, jsx_runtime_1.jsx)("div", __assign({ id: (_b = connectionDetails === null || connectionDetails === void 0 ? void 0 : connectionDetails.videoStreamId) !== null && _b !== void 0 ? _b : '', className: 'participant' }, { children: children })));
|
|
21
|
+
};
|
|
22
|
+
exports.Video = Video;
|
|
23
|
+
//# sourceMappingURL=Video.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Video.js","sourceRoot":"","sources":["../../../../src/components/Video/Video.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wBAAsB;AAuBf,IAAM,KAAK,GAAyB,UAAC,EAA6B;;QAA5B,iBAAiB,uBAAA,EAAE,QAAQ,cAAA;IAA0B,OAAA,CAC9F,yCAAK,EAAE,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,aAAa,mCAAI,EAAE,EAAE,SAAS,EAAC,aAAa,gBACnE,QAAQ,IACP,CACT,CAAA;CAAA,CAAC;AAJW,QAAA,KAAK,SAIhB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ConnectionDetails } from '../../services/types';
|
|
3
|
+
export type VideoTranslationStrings = Partial<{
|
|
4
|
+
mediaRejectedPermissionDeniedTitle: string;
|
|
5
|
+
mediaRejectedPermissionDeniedText: string;
|
|
6
|
+
mediaRejectedUserDeniedPermission: string;
|
|
7
|
+
mediaRejectedTipClick: string;
|
|
8
|
+
mediaRejectedTipLearn: string;
|
|
9
|
+
mediaRejectedAccessDeniedTooltip: string;
|
|
10
|
+
mediaRejectedAccessDenied: string;
|
|
11
|
+
allPeersDisconnectedCaption: string;
|
|
12
|
+
connectingCaption: string;
|
|
13
|
+
waitingForFirstPeerCaption: string;
|
|
14
|
+
}>;
|
|
15
|
+
type VideoPlaceholderProps = {
|
|
16
|
+
connectionDetails?: ConnectionDetails;
|
|
17
|
+
translations: VideoTranslationStrings;
|
|
18
|
+
firstPeerConnected: boolean;
|
|
19
|
+
children: JSX.Element;
|
|
20
|
+
};
|
|
21
|
+
export declare const VideoPlaceholder: React.FC<VideoPlaceholderProps>;
|
|
22
|
+
export default VideoPlaceholder;
|
|
23
|
+
//# sourceMappingURL=VideoPlaceholder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoPlaceholder.d.ts","sourceRoot":"","sources":["../../../../src/components/Video/VideoPlaceholder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAkB,MAAM,sBAAsB,CAAC;AAGxE,MAAM,MAAM,uBAAuB,GAAG,OAAO,CAAC;IAC1C,kCAAkC,EAAE,MAAM,CAAC;IAC3C,iCAAiC,EAAE,MAAM,CAAC;IAC1C,iCAAiC,EAAE,MAAM,CAAC;IAC1C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gCAAgC,EAAE,MAAM,CAAC;IACzC,yBAAyB,EAAE,MAAM,CAAC;IAClC,2BAA2B,EAAE,MAAM,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,0BAA0B,EAAE,MAAM,CAAC;CACtC,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG;IACzB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,YAAY,EAAE,uBAAuB,CAAC;IACtC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA0B5D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VideoPlaceholder = void 0;
|
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
var types_1 = require("../../services/types");
|
|
6
|
+
var LoaderSpinner_1 = require("../LoaderSpinner/LoaderSpinner");
|
|
7
|
+
var VideoPlaceholder = function (props) {
|
|
8
|
+
var connectionDetails = props.connectionDetails, translations = props.translations, firstPeerConnected = props.firstPeerConnected, children = props.children;
|
|
9
|
+
var connectingCaption = translations.connectingCaption, waitingForFirstPeerCaption = translations.waitingForFirstPeerCaption, allPeersDisconnectedCaption = translations.allPeersDisconnectedCaption;
|
|
10
|
+
var waitingForPeerToConnectCaption = firstPeerConnected
|
|
11
|
+
? allPeersDisconnectedCaption
|
|
12
|
+
: waitingForFirstPeerCaption;
|
|
13
|
+
var caption = (connectionDetails === null || connectionDetails === void 0 ? void 0 : connectionDetails.isOwnConnection) ? connectingCaption : waitingForPeerToConnectCaption;
|
|
14
|
+
var connectionState = connectionDetails === null || connectionDetails === void 0 ? void 0 : connectionDetails.connectionState;
|
|
15
|
+
switch (connectionState) {
|
|
16
|
+
case types_1.ConnectionState.WaitingForConnection:
|
|
17
|
+
case types_1.ConnectionState.Connecting:
|
|
18
|
+
return (0, jsx_runtime_1.jsx)(LoaderSpinner_1.LoaderSpinner, { caption: caption || 'Connecting...' });
|
|
19
|
+
case types_1.ConnectionState.ConnectedNoVideo: {
|
|
20
|
+
return children;
|
|
21
|
+
}
|
|
22
|
+
case types_1.ConnectionState.ConnectedPublishingVideo:
|
|
23
|
+
return null;
|
|
24
|
+
default:
|
|
25
|
+
return (0, jsx_runtime_1.jsx)(LoaderSpinner_1.LoaderSpinner, { caption: caption || 'Connecting...' });
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.VideoPlaceholder = VideoPlaceholder;
|
|
29
|
+
exports.default = exports.VideoPlaceholder;
|
|
30
|
+
//# sourceMappingURL=VideoPlaceholder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoPlaceholder.js","sourceRoot":"","sources":["../../../../src/components/Video/VideoPlaceholder.tsx"],"names":[],"mappings":";;;;AACA,8CAAwE;AACxE,gEAA6D;AAsBtD,IAAM,gBAAgB,GAAoC,UAAC,KAAK;IAC5D,IAAA,iBAAiB,GAAgD,KAAK,kBAArD,EAAE,YAAY,GAAkC,KAAK,aAAvC,EAAE,kBAAkB,GAAc,KAAK,mBAAnB,EAAE,QAAQ,GAAI,KAAK,SAAT,CAAU;IAEvE,IAAA,iBAAiB,GAA6D,YAAY,kBAAzE,EAAE,0BAA0B,GAAiC,YAAY,2BAA7C,EAAE,2BAA2B,GAAI,YAAY,4BAAhB,CAAiB;IAElG,IAAM,8BAA8B,GAAG,kBAAkB;QACrD,CAAC,CAAC,2BAA2B;QAC7B,CAAC,CAAC,0BAA0B,CAAC;IACjC,IAAM,OAAO,GAAG,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,EAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,8BAA8B,CAAC;IACxG,IAAM,eAAe,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,CAAC;IAE3D,QAAQ,eAAe,EAAE;QACrB,KAAK,uBAAe,CAAC,oBAAoB,CAAC;QAC1C,KAAK,uBAAe,CAAC,UAAU;YAC3B,OAAO,uBAAC,6BAAa,IAAC,OAAO,EAAE,OAAO,IAAI,eAAe,GAAI,CAAC;QAElE,KAAK,uBAAe,CAAC,gBAAgB,CAAC,CAAC;YACnC,OAAO,QAAQ,CAAC;SACnB;QAED,KAAK,uBAAe,CAAC,wBAAwB;YACzC,OAAO,IAAI,CAAC;QAEhB;YACI,OAAO,uBAAC,6BAAa,IAAC,OAAO,EAAE,OAAO,IAAI,eAAe,GAAI,CAAC;KACrE;AACL,CAAC,CAAC;AA1BW,QAAA,gBAAgB,oBA0B3B;AAEF,kBAAe,wBAAgB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import './AgentPinnedLayout.scss';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { SessionClientRole } from '@techsee/techsee-nway-media-service/lib/MediaConstants';
|
|
4
|
+
import { ConnectionDetails } from '../../../services/types';
|
|
5
|
+
import { OnEndMeetingRequestedCb } from '../../Multiparty.types';
|
|
6
|
+
import { VideoTranslationStrings } from '../../Video/VideoPlaceholder';
|
|
7
|
+
type Props = {
|
|
8
|
+
agentConnection?: ConnectionDetails;
|
|
9
|
+
userConnection?: ConnectionDetails;
|
|
10
|
+
userRole: SessionClientRole;
|
|
11
|
+
firstPeerConnected: boolean;
|
|
12
|
+
onModalOpen?: () => void;
|
|
13
|
+
translations: VideoTranslationStrings;
|
|
14
|
+
onToggleMute?: () => void;
|
|
15
|
+
onToggleVideo?: () => void;
|
|
16
|
+
onSwitchCamera?: () => void;
|
|
17
|
+
onEndMeetingRequested?: OnEndMeetingRequestedCb;
|
|
18
|
+
isAudioMuted: boolean;
|
|
19
|
+
isVideoTurnedOff: boolean;
|
|
20
|
+
};
|
|
21
|
+
export declare const AgentPinnedLayout: React.FC<Props>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=AgentPinnedLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentPinnedLayout.d.ts","sourceRoot":"","sources":["../../../../../src/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;AAElC,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAC,iBAAiB,EAAC,MAAM,wDAAwD,CAAC;AACzF,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAmB,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAGvF,KAAK,KAAK,GAAG;IACT,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,uBAAuB,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,qBAAqB,CAAC,EAAE,uBAAuB,CAAC;IAChD,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuE7C,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.AgentPinnedLayout = void 0;
|
|
15
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
16
|
+
require("./AgentPinnedLayout.scss");
|
|
17
|
+
var react_1 = require("react");
|
|
18
|
+
var MediaConstants_1 = require("@techsee/techsee-nway-media-service/lib/MediaConstants");
|
|
19
|
+
var Video_1 = require("../../Video/Video");
|
|
20
|
+
var ButtonPanels_1 = require("../../ButtonPanels");
|
|
21
|
+
var VideoPlaceholder_1 = require("../../Video/VideoPlaceholder");
|
|
22
|
+
var Avatar_1 = require("../../Avatar/Avatar");
|
|
23
|
+
var AgentPinnedLayout = function (_a) {
|
|
24
|
+
var agentConnection = _a.agentConnection, userConnection = _a.userConnection, userRole = _a.userRole, firstPeerConnected = _a.firstPeerConnected, onModalOpen = _a.onModalOpen, translations = _a.translations, onToggleMute = _a.onToggleMute, onToggleVideo = _a.onToggleVideo, onSwitchCamera = _a.onSwitchCamera, onEndMeetingRequested = _a.onEndMeetingRequested, isAudioMuted = _a.isAudioMuted, isVideoTurnedOff = _a.isVideoTurnedOff;
|
|
25
|
+
var MediaButtonsPanelWithProps = (0, react_1.useCallback)(function () {
|
|
26
|
+
var isAgent = userRole === MediaConstants_1.SessionClientRole.AGENT;
|
|
27
|
+
var cssClass = isAgent ? 'media-buttons-panel-left' : 'media-buttons-panel-right';
|
|
28
|
+
return ((0, jsx_runtime_1.jsx)("div", __assign({ className: cssClass }, { children: (0, jsx_runtime_1.jsx)(ButtonPanels_1.MediaButtonsPanel, { onToggleMute: onToggleMute, onToggleVideo: onToggleVideo, onSwitchCamera: onSwitchCamera, buttonsType: isAgent ? ButtonPanels_1.MultipartyButtonType.DesktopObsolete : ButtonPanels_1.MultipartyButtonType.MobileObsolete, isMuted: isAudioMuted, isVideoTurnedOff: isVideoTurnedOff, isBackgroundVisible: true, isIconTransparencyEnabled: false }) })));
|
|
29
|
+
}, [onToggleMute, onToggleVideo, onSwitchCamera, userRole, isAudioMuted, isVideoTurnedOff]);
|
|
30
|
+
return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'agent-pinned-layout use-common-styles' }, { children: [(0, jsx_runtime_1.jsx)(MediaButtonsPanelWithProps, {}), userRole === MediaConstants_1.SessionClientRole.USER && ((0, jsx_runtime_1.jsx)("div", __assign({ className: 'end-meeting-button-panel' }, { children: (0, jsx_runtime_1.jsx)(ButtonPanels_1.EndMeetingButtonPanel, { onEndMeetingRequested: onEndMeetingRequested }) }))), (0, jsx_runtime_1.jsx)("div", __assign({ className: 'agent-area' }, { children: (0, jsx_runtime_1.jsx)(Video_1.Video, __assign({ connectionDetails: agentConnection }, { children: (0, jsx_runtime_1.jsx)(VideoPlaceholder_1.VideoPlaceholder, __assign({ translations: translations, firstPeerConnected: firstPeerConnected, connectionDetails: agentConnection }, { children: (0, jsx_runtime_1.jsx)(Avatar_1.Avatar, {}) })) })) })), (0, jsx_runtime_1.jsx)("div", __assign({ className: 'peer-area' }, { children: (0, jsx_runtime_1.jsx)(Video_1.Video, __assign({ connectionDetails: userConnection }, { children: (0, jsx_runtime_1.jsx)(VideoPlaceholder_1.VideoPlaceholder, __assign({ translations: translations, firstPeerConnected: firstPeerConnected, connectionDetails: userConnection }, { children: (0, jsx_runtime_1.jsx)(Avatar_1.Avatar, { text: userRole === MediaConstants_1.SessionClientRole.USER &&
|
|
31
|
+
(userConnection === null || userConnection === void 0 ? void 0 : userConnection.isMediaPermissionsRejected) &&
|
|
32
|
+
translations.mediaRejectedAccessDenied, onClick: (userConnection === null || userConnection === void 0 ? void 0 : userConnection.isMediaPermissionsRejected) ? onModalOpen : undefined }) })) })) }))] })));
|
|
33
|
+
};
|
|
34
|
+
exports.AgentPinnedLayout = AgentPinnedLayout;
|
|
35
|
+
//# sourceMappingURL=AgentPinnedLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentPinnedLayout.js","sourceRoot":"","sources":["../../../../../src/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oCAAkC;AAElC,+BAAyC;AACzC,yFAAyF;AAEzF,2CAAwC;AACxC,mDAAkG;AAElG,iEAAuF;AACvF,8CAA2C;AAiBpC,IAAM,iBAAiB,GAAoB,UAAC,EAa3C;QAZJ,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,QAAQ,cAAA,EACR,kBAAkB,wBAAA,EAClB,WAAW,iBAAA,EACX,YAAY,kBAAA,EACZ,YAAY,kBAAA,EACZ,aAAa,mBAAA,EACb,cAAc,oBAAA,EACd,qBAAqB,2BAAA,EACrB,YAAY,kBAAA,EACZ,gBAAgB,sBAAA;IAEhB,IAAM,0BAA0B,GAAG,IAAA,mBAAW,EAAC;QAC3C,IAAM,OAAO,GAAG,QAAQ,KAAK,kCAAiB,CAAC,KAAK,CAAC;QACrD,IAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,2BAA2B,CAAC;QAEpF,OAAO,CACH,yCAAK,SAAS,EAAE,QAAQ,gBACpB,uBAAC,gCAAiB,IACd,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,mCAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,mCAAoB,CAAC,cAAc,EACjG,OAAO,EAAE,YAAY,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,QACnB,yBAAyB,EAAE,KAAK,GAClC,IACA,CACT,CAAC;IACN,CAAC,EAAE,CAAC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE5F,OAAO,CACH,0CAAK,SAAS,EAAC,uCAAuC,iBAClD,uBAAC,0BAA0B,KAAG,EAC7B,QAAQ,KAAK,kCAAiB,CAAC,IAAI,IAAI,CACpC,yCAAK,SAAS,EAAC,0BAA0B,gBACrC,uBAAC,oCAAqB,IAAC,qBAAqB,EAAE,qBAAqB,GAAI,IACrE,CACT,EACD,yCAAK,SAAS,EAAC,YAAY,gBACvB,uBAAC,aAAK,aAAC,iBAAiB,EAAE,eAAe,gBACrC,uBAAC,mCAAgB,aACb,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,eAAe,gBAClC,uBAAC,eAAM,KAAG,IACK,IACf,IACN,EACN,yCAAK,SAAS,EAAC,WAAW,gBACtB,uBAAC,aAAK,aAAC,iBAAiB,EAAE,cAAc,gBACpC,uBAAC,mCAAgB,aACb,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,cAAc,gBACjC,uBAAC,eAAM,IACH,IAAI,EACA,QAAQ,KAAK,kCAAiB,CAAC,IAAI;iCACnC,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,0BAA0B,CAAA;gCAC1C,YAAY,CAAC,yBAAyB,EAE1C,OAAO,EAAE,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,0BAA0B,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,GAC/E,IACa,IACf,IACN,KACJ,CACT,CAAC;AACN,CAAC,CAAC;AAvEW,QAAA,iBAAiB,qBAuE5B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React, { RefObject } from 'react';
|
|
2
|
+
import { SessionClientRole } from '@techsee/techsee-nway-media-service/lib/MediaConstants';
|
|
3
|
+
import { ConnectionDetails, OnPinnedUserChangedCb } from '../../../services/types';
|
|
4
|
+
import { OnEndMeetingRequestedCb, OnSnapshotRequestedCb } from '../../Multiparty.types';
|
|
5
|
+
import './BigAreaLayout.scss';
|
|
6
|
+
import { VideoTranslationStrings } from '../../Video/VideoPlaceholder';
|
|
7
|
+
type Props = {
|
|
8
|
+
mainConnection?: ConnectionDetails;
|
|
9
|
+
peerConnection?: ConnectionDetails;
|
|
10
|
+
pinnedVideo?: SessionClientRole;
|
|
11
|
+
userRole: SessionClientRole;
|
|
12
|
+
firstPeerConnected: boolean;
|
|
13
|
+
onVideoPinned?: OnPinnedUserChangedCb;
|
|
14
|
+
onModalOpen?: () => void;
|
|
15
|
+
translations: VideoTranslationStrings;
|
|
16
|
+
onToggleMute?: () => void;
|
|
17
|
+
onToggleVideo?: () => void;
|
|
18
|
+
onSwitchCamera?: () => void;
|
|
19
|
+
isAudioMuted: boolean;
|
|
20
|
+
isVideoTurnedOff: boolean;
|
|
21
|
+
onSnapshotRequested?: OnSnapshotRequestedCb;
|
|
22
|
+
onEndMeetingRequested?: OnEndMeetingRequestedCb;
|
|
23
|
+
videoOverlay?: (props: {
|
|
24
|
+
floatingElements: RefObject<HTMLElement>[];
|
|
25
|
+
}) => JSX.Element;
|
|
26
|
+
};
|
|
27
|
+
export declare enum FocusedVideoArea {
|
|
28
|
+
NONE = 0,
|
|
29
|
+
SMALL = 1,
|
|
30
|
+
BIG = 2
|
|
31
|
+
}
|
|
32
|
+
export declare const BigAreaLayout: React.FC<Props>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=BigAreaLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BigAreaLayout.d.ts","sourceRoot":"","sources":["../../../../../src/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,SAAS,EAAgC,MAAM,OAAO,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,wDAAwD,CAAC;AACzF,OAAO,EAAC,iBAAiB,EAAE,qBAAqB,EAAmC,MAAM,yBAAyB,CAAC;AACnH,OAAO,EAAC,uBAAuB,EAAE,qBAAqB,EAAC,MAAM,wBAAwB,CAAC;AAUtF,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAmB,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAKvF,KAAK,KAAK,GAAG;IACT,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,uBAAuB,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAC5C,qBAAqB,CAAC,EAAE,uBAAuB,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,gBAAgB,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,CAAA;KAAC,KAAK,GAAG,CAAC,OAAO,CAAC;CACvF,CAAC;AAOF,oBAAY,gBAAgB;IACxB,IAAI,IAAA;IACJ,KAAK,IAAA;IACL,GAAG,IAAA;CACN;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgKzC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.BigAreaLayout = exports.FocusedVideoArea = void 0;
|
|
18
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
|
+
var react_1 = require("react");
|
|
20
|
+
var MediaConstants_1 = require("@techsee/techsee-nway-media-service/lib/MediaConstants");
|
|
21
|
+
var types_1 = require("../../../services/types");
|
|
22
|
+
var ButtonPanels_1 = require("../../ButtonPanels");
|
|
23
|
+
var Video_1 = require("../../Video/Video");
|
|
24
|
+
var MediaButtonsPanel_1 = require("../../ButtonPanels/MediaButtonsPanel/MediaButtonsPanel");
|
|
25
|
+
require("./BigAreaLayout.scss");
|
|
26
|
+
var VideoPlaceholder_1 = require("../../Video/VideoPlaceholder");
|
|
27
|
+
var BigAreaMediaPermissionDeniedPlaceholder_1 = __importDefault(require("../../VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder"));
|
|
28
|
+
var SmallAreaMediaPermissionDeniedPlaceholder_1 = __importDefault(require("../../VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder"));
|
|
29
|
+
var Avatar_1 = require("../../Avatar/Avatar");
|
|
30
|
+
var FocusedVideoArea;
|
|
31
|
+
(function (FocusedVideoArea) {
|
|
32
|
+
FocusedVideoArea[FocusedVideoArea["NONE"] = 0] = "NONE";
|
|
33
|
+
FocusedVideoArea[FocusedVideoArea["SMALL"] = 1] = "SMALL";
|
|
34
|
+
FocusedVideoArea[FocusedVideoArea["BIG"] = 2] = "BIG";
|
|
35
|
+
})(FocusedVideoArea = exports.FocusedVideoArea || (exports.FocusedVideoArea = {}));
|
|
36
|
+
var BigAreaLayout = function (_a) {
|
|
37
|
+
var mainConnection = _a.mainConnection, peerConnection = _a.peerConnection, pinnedVideo = _a.pinnedVideo, userRole = _a.userRole, firstPeerConnected = _a.firstPeerConnected, onVideoPinned = _a.onVideoPinned, onModalOpen = _a.onModalOpen, translations = _a.translations, onToggleMute = _a.onToggleMute, onToggleVideo = _a.onToggleVideo, onSwitchCamera = _a.onSwitchCamera, isAudioMuted = _a.isAudioMuted, isVideoTurnedOff = _a.isVideoTurnedOff, onSnapshotRequested = _a.onSnapshotRequested, onEndMeetingRequested = _a.onEndMeetingRequested, VideoOverlay = _a.videoOverlay;
|
|
38
|
+
var _b = (0, react_1.useState)(FocusedVideoArea.NONE), focusedVideoArea = _b[0], setFocusedVideoArea = _b[1];
|
|
39
|
+
var snapshotButtonPanelRef = (0, react_1.useRef)(null);
|
|
40
|
+
var pinButtonPanelRef = (0, react_1.useRef)(null);
|
|
41
|
+
var mediaButtonsPanelRef = (0, react_1.useRef)(null);
|
|
42
|
+
var endMeetingButtonPanelRef = (0, react_1.useRef)(null);
|
|
43
|
+
var floatingElements = [
|
|
44
|
+
pinButtonPanelRef,
|
|
45
|
+
snapshotButtonPanelRef,
|
|
46
|
+
mediaButtonsPanelRef,
|
|
47
|
+
endMeetingButtonPanelRef
|
|
48
|
+
];
|
|
49
|
+
var MediaButtons = (0, react_1.useCallback)(function (props) {
|
|
50
|
+
var buttonsSpacing = props.buttonsSpacing, isHover = props.isHover;
|
|
51
|
+
var isAgent = userRole === MediaConstants_1.SessionClientRole.AGENT;
|
|
52
|
+
var cssClass = isAgent ? 'media-buttons-panel-agent' : 'media-buttons-panel-user';
|
|
53
|
+
return ((0, jsx_runtime_1.jsx)("div", __assign({ className: cssClass, ref: mediaButtonsPanelRef }, { children: (0, jsx_runtime_1.jsx)(ButtonPanels_1.MediaButtonsPanel, { onToggleMute: onToggleMute, onToggleVideo: onToggleVideo, onSwitchCamera: onSwitchCamera, buttonsType: isAgent ? ButtonPanels_1.MultipartyButtonType.Desktop : ButtonPanels_1.MultipartyButtonType.Mobile, buttonsSpacing: buttonsSpacing, isMuted: isAudioMuted, isVideoTurnedOff: isVideoTurnedOff, isBackgroundVisible: !isAgent || isHover, isIconTransparencyEnabled: isAgent }) })));
|
|
54
|
+
}, [onToggleMute, onToggleVideo, onSwitchCamera, userRole, isAudioMuted, isVideoTurnedOff, mediaButtonsPanelRef]);
|
|
55
|
+
var getPinnedCallback = (0, react_1.useCallback)(function (role) {
|
|
56
|
+
return role && onVideoPinned
|
|
57
|
+
? function () { return onVideoPinned(role !== pinnedVideo ? (0, types_1.toPinnedUserType)(role) : types_1.PinnedUserType.NONE); }
|
|
58
|
+
: undefined;
|
|
59
|
+
}, [onVideoPinned, pinnedVideo]);
|
|
60
|
+
var mainConnectionRole = mainConnection === null || mainConnection === void 0 ? void 0 : mainConnection.userRole;
|
|
61
|
+
var peerConnectionRole = peerConnection === null || peerConnection === void 0 ? void 0 : peerConnection.userRole;
|
|
62
|
+
return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'big-main-video-layout use-common-styles' }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: 'big-area', onMouseEnter: function () { return setFocusedVideoArea(FocusedVideoArea.BIG); }, onMouseLeave: function () { return setFocusedVideoArea(FocusedVideoArea.NONE); } }, { children: [userRole === MediaConstants_1.SessionClientRole.AGENT && mainConnectionRole === userRole && ((0, jsx_runtime_1.jsx)(MediaButtons, { buttonsSpacing: MediaButtonsPanel_1.ButtonsSpacing.Sparse, isHover: focusedVideoArea === FocusedVideoArea.BIG })), userRole === MediaConstants_1.SessionClientRole.AGENT && onVideoPinned && ((0, jsx_runtime_1.jsx)("div", __assign({ className: 'pin-button-panel', ref: pinButtonPanelRef }, { children: (0, jsx_runtime_1.jsx)(ButtonPanels_1.PinButtonPanel, { isPinned: mainConnectionRole !== undefined && mainConnectionRole === pinnedVideo, isVideoHover: focusedVideoArea === FocusedVideoArea.BIG, onTogglePin: getPinnedCallback(mainConnectionRole) }) }))), userRole === MediaConstants_1.SessionClientRole.AGENT && onSnapshotRequested && ((0, jsx_runtime_1.jsx)("div", __assign({ className: 'snapshot-button-panel', ref: snapshotButtonPanelRef }, { children: (0, jsx_runtime_1.jsx)(ButtonPanels_1.SnapshotButtonPanel, { onSnapshot: onSnapshotRequested }) }))), (0, jsx_runtime_1.jsx)(Video_1.Video, __assign({ connectionDetails: mainConnection }, { children: (0, jsx_runtime_1.jsx)(VideoPlaceholder_1.VideoPlaceholder, __assign({ translations: translations, firstPeerConnected: firstPeerConnected, connectionDetails: mainConnection }, { children: (mainConnection === null || mainConnection === void 0 ? void 0 : mainConnection.isMediaPermissionsRejected) ? ((0, jsx_runtime_1.jsx)(BigAreaMediaPermissionDeniedPlaceholder_1.default, { connectionDetails: mainConnection, onModalOpen: (mainConnection === null || mainConnection === void 0 ? void 0 : mainConnection.isOwnConnection) ? onModalOpen : undefined, translations: translations })) : ((0, jsx_runtime_1.jsx)(Avatar_1.Avatar, {})) })) })), VideoOverlay && ((0, jsx_runtime_1.jsx)("div", __assign({ className: 'video-overlay' }, { children: (0, jsx_runtime_1.jsx)(VideoOverlay, { floatingElements: floatingElements }) })))] })), (0, jsx_runtime_1.jsxs)("div", __assign({ className: 'small-area', onMouseEnter: function () { return setFocusedVideoArea(FocusedVideoArea.SMALL); }, onMouseLeave: function () { return setFocusedVideoArea(FocusedVideoArea.NONE); } }, { children: [userRole === MediaConstants_1.SessionClientRole.AGENT && peerConnectionRole === userRole && ((0, jsx_runtime_1.jsx)(MediaButtons, { buttonsSpacing: MediaButtonsPanel_1.ButtonsSpacing.Dense, isHover: focusedVideoArea === FocusedVideoArea.SMALL })), userRole === MediaConstants_1.SessionClientRole.AGENT && onVideoPinned && ((0, jsx_runtime_1.jsx)("div", __assign({ className: 'pin-button-panel' }, { children: (0, jsx_runtime_1.jsx)(ButtonPanels_1.PinButtonPanel, { isPinned: peerConnectionRole !== undefined && peerConnectionRole === pinnedVideo, isVideoHover: focusedVideoArea === FocusedVideoArea.SMALL, onTogglePin: getPinnedCallback(peerConnectionRole) }) }))), (0, jsx_runtime_1.jsx)(Video_1.Video, __assign({ connectionDetails: peerConnection }, { children: (0, jsx_runtime_1.jsx)(VideoPlaceholder_1.VideoPlaceholder, __assign({ translations: translations, firstPeerConnected: firstPeerConnected, connectionDetails: peerConnection }, { children: (peerConnection === null || peerConnection === void 0 ? void 0 : peerConnection.isMediaPermissionsRejected) ? ((0, jsx_runtime_1.jsx)(SmallAreaMediaPermissionDeniedPlaceholder_1.default, { translations: translations, onModalOpen: (peerConnection === null || peerConnection === void 0 ? void 0 : peerConnection.isOwnConnection) ? onModalOpen : undefined, connectionDetails: peerConnection })) : ((0, jsx_runtime_1.jsx)(Avatar_1.Avatar, {})) })) }))] })), userRole !== MediaConstants_1.SessionClientRole.AGENT && (0, jsx_runtime_1.jsx)(MediaButtons, { buttonsSpacing: MediaButtonsPanel_1.ButtonsSpacing.Sparse }), userRole === MediaConstants_1.SessionClientRole.USER && ((0, jsx_runtime_1.jsx)("div", __assign({ className: 'end-meeting-button-panel', ref: endMeetingButtonPanelRef }, { children: (0, jsx_runtime_1.jsx)(ButtonPanels_1.EndMeetingButtonPanel, { onEndMeetingRequested: onEndMeetingRequested }) })))] })));
|
|
63
|
+
};
|
|
64
|
+
exports.BigAreaLayout = BigAreaLayout;
|
|
65
|
+
//# sourceMappingURL=BigAreaLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BigAreaLayout.js","sourceRoot":"","sources":["../../../../../src/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { SessionClientRole } from '@techsee/techsee-nway-media-service/lib/MediaConstants';
|
|
3
|
+
import { VideoLayoutType } from '@techsee/techsee-nway-media-service/lib/MultiParty';
|
|
4
|
+
import { ConnectionDetails, OnPinnedUserChangedCb } from '../../services/types';
|
|
5
|
+
import { OnEndMeetingRequestedCb, OnSnapshotRequestedCb } from '../Multiparty.types';
|
|
6
|
+
import { VideoTranslationStrings } from '../Video/VideoPlaceholder';
|
|
7
|
+
type VideoLayoutManagerProps = {
|
|
8
|
+
connections: ConnectionDetails[];
|
|
9
|
+
pinnedVideo?: SessionClientRole;
|
|
10
|
+
selectedLayoutType?: VideoLayoutType;
|
|
11
|
+
userRole: SessionClientRole;
|
|
12
|
+
firstPeerConnected: boolean;
|
|
13
|
+
onVideoPinned?: OnPinnedUserChangedCb;
|
|
14
|
+
onModalOpen?: () => void;
|
|
15
|
+
translations: VideoTranslationStrings;
|
|
16
|
+
onToggleMute?: () => void;
|
|
17
|
+
onToggleVideo?: () => void;
|
|
18
|
+
onSwitchCamera?: () => void;
|
|
19
|
+
isAudioMuted: boolean;
|
|
20
|
+
isVideoTurnedOff: boolean;
|
|
21
|
+
onSnapshotRequested?: OnSnapshotRequestedCb;
|
|
22
|
+
videoOverlay?: (props: {
|
|
23
|
+
floatingElements: RefObject<HTMLElement>[];
|
|
24
|
+
}) => JSX.Element;
|
|
25
|
+
onEndMeetingRequested?: OnEndMeetingRequestedCb;
|
|
26
|
+
};
|
|
27
|
+
export declare const VideoLayoutManager: React.FC<VideoLayoutManagerProps>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=VideoLayoutManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoLayoutManager.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoLayouts/VideoLayoutManager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAChC,OAAO,EAAC,iBAAiB,EAAC,MAAM,wDAAwD,CAAC;AACzF,OAAO,EAAC,eAAe,EAAC,MAAM,oDAAoD,CAAC;AACnF,OAAO,EAAC,iBAAiB,EAAE,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAC,uBAAuB,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAIlE,KAAK,uBAAuB,GAAG;IAC3B,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,uBAAuB,CAAC;IACtC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAC5C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QAAC,gBAAgB,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,CAAA;KAAC,KAAK,GAAG,CAAC,OAAO,CAAC;IACpF,qBAAqB,CAAC,EAAE,uBAAuB,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA8DhE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VideoLayoutManager = void 0;
|
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
var MediaConstants_1 = require("@techsee/techsee-nway-media-service/lib/MediaConstants");
|
|
6
|
+
var MultiParty_1 = require("@techsee/techsee-nway-media-service/lib/MultiParty");
|
|
7
|
+
var AgentPinnedLayout_1 = require("./AgentPinnedLayout/AgentPinnedLayout");
|
|
8
|
+
var BigAreaLayout_1 = require("./BigMainVideoLayout/BigAreaLayout");
|
|
9
|
+
var VideoLayoutManager = function (_a) {
|
|
10
|
+
var connections = _a.connections, pinnedVideo = _a.pinnedVideo, selectedLayoutType = _a.selectedLayoutType, userRole = _a.userRole, firstPeerConnected = _a.firstPeerConnected, onVideoPinned = _a.onVideoPinned, onModalOpen = _a.onModalOpen, translations = _a.translations, onToggleMute = _a.onToggleMute, onToggleVideo = _a.onToggleVideo, onSwitchCamera = _a.onSwitchCamera, isAudioMuted = _a.isAudioMuted, isVideoTurnedOff = _a.isVideoTurnedOff, onSnapshotRequested = _a.onSnapshotRequested, onEndMeetingRequested = _a.onEndMeetingRequested, videoOverlay = _a.videoOverlay;
|
|
11
|
+
switch (selectedLayoutType) {
|
|
12
|
+
case MultiParty_1.VideoLayoutType.BigMainVideoLayout:
|
|
13
|
+
return ((0, jsx_runtime_1.jsx)(BigAreaLayout_1.BigAreaLayout, { mainConnection: connections.find(function (connection) {
|
|
14
|
+
return pinnedVideo ? connection.userRole === pinnedVideo : !connection.isOwnConnection;
|
|
15
|
+
}), peerConnection: connections.find(function (connection) {
|
|
16
|
+
return pinnedVideo ? connection.userRole !== pinnedVideo : connection.isOwnConnection;
|
|
17
|
+
}), userRole: userRole, pinnedVideo: pinnedVideo, translations: translations, firstPeerConnected: firstPeerConnected, onModalOpen: onModalOpen, onVideoPinned: onVideoPinned, onToggleMute: onToggleMute, onToggleVideo: onToggleVideo, onSwitchCamera: onSwitchCamera, isAudioMuted: isAudioMuted, isVideoTurnedOff: isVideoTurnedOff, onSnapshotRequested: onSnapshotRequested, videoOverlay: videoOverlay, onEndMeetingRequested: onEndMeetingRequested }));
|
|
18
|
+
default:
|
|
19
|
+
return ((0, jsx_runtime_1.jsx)(AgentPinnedLayout_1.AgentPinnedLayout, { agentConnection: connections.find(function (connection) { return connection.userRole === MediaConstants_1.SessionClientRole.AGENT; }), userConnection: connections.find(function (connection) { return connection.userRole === MediaConstants_1.SessionClientRole.USER; }), userRole: userRole, translations: translations, firstPeerConnected: firstPeerConnected, onModalOpen: onModalOpen, onToggleMute: onToggleMute, onToggleVideo: onToggleVideo, onSwitchCamera: onSwitchCamera, isAudioMuted: isAudioMuted, isVideoTurnedOff: isVideoTurnedOff, onEndMeetingRequested: onEndMeetingRequested }));
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
exports.VideoLayoutManager = VideoLayoutManager;
|
|
23
|
+
//# sourceMappingURL=VideoLayoutManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoLayoutManager.js","sourceRoot":"","sources":["../../../../src/components/VideoLayouts/VideoLayoutManager.tsx"],"names":[],"mappings":";;;;AACA,yFAAyF;AACzF,iFAAmF;AAInF,2EAAwE;AACxE,oEAAiE;AAqB1D,IAAM,kBAAkB,GAAsC,UAAC,EAiB5C;QAhBtB,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,kBAAkB,wBAAA,EAClB,QAAQ,cAAA,EACR,kBAAkB,wBAAA,EAClB,aAAa,mBAAA,EACb,WAAW,iBAAA,EACX,YAAY,kBAAA,EACZ,YAAY,kBAAA,EACZ,aAAa,mBAAA,EACb,cAAc,oBAAA,EACd,YAAY,kBAAA,EACZ,gBAAgB,sBAAA,EAChB,mBAAmB,yBAAA,EACnB,qBAAqB,2BAAA,EACrB,YAAY,kBAAA;IAEZ,QAAQ,kBAAkB,EAAE;QACxB,KAAK,4BAAe,CAAC,kBAAkB;YACnC,OAAO,CACH,uBAAC,6BAAa,IACV,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,UAAC,UAAU;oBACxC,OAAA,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe;gBAA/E,CAA+E,CAClF,EACD,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,UAAC,UAAU;oBACxC,OAAA,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe;gBAA9E,CAA8E,CACjF,EACD,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,GAC9C,CACL,CAAC;QACN;YACI,OAAO,CACH,uBAAC,qCAAiB,IACd,eAAe,EAAE,WAAW,CAAC,IAAI,CAAC,UAAC,UAAU,IAAK,OAAA,UAAU,CAAC,QAAQ,KAAK,kCAAiB,CAAC,KAAK,EAA/C,CAA+C,CAAC,EAClG,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,UAAC,UAAU,IAAK,OAAA,UAAU,CAAC,QAAQ,KAAK,kCAAiB,CAAC,IAAI,EAA9C,CAA8C,CAAC,EAChG,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,GAC9C,CACL,CAAC;KACT;AACL,CAAC,CAAC;AA9DW,QAAA,kBAAkB,sBA8D7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoLayouts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC"}
|