@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.
Files changed (165) hide show
  1. package/README.md +1 -0
  2. package/lib/assets/img/avatar.png +0 -0
  3. package/lib/assets/img/camera-button.png +0 -0
  4. package/lib/assets/img/exclamation-mark.png +0 -0
  5. package/lib/assets/img/media-rejected/chrome1.png +0 -0
  6. package/lib/assets/img/media-rejected/chrome2.png +0 -0
  7. package/lib/assets/img/media-rejected/chrome3.png +0 -0
  8. package/lib/assets/img/media-rejected/chrome4.png +0 -0
  9. package/lib/assets/img/media-rejected/close_button.png +0 -0
  10. package/lib/assets/img/media-rejected/ios1.png +0 -0
  11. package/lib/assets/img/media-rejected/ios2.png +0 -0
  12. package/lib/components/Avatar/Avatar.scss +45 -0
  13. package/lib/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.scss +31 -0
  14. package/lib/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.scss +6 -0
  15. package/lib/components/LoaderSpinner/LoaderSpinner.scss +69 -0
  16. package/lib/components/MagicMarker/MagicMarker.scss +18 -0
  17. package/lib/components/MediaRejectedModal/MediaRejectedModal.scss +75 -0
  18. package/lib/components/Multiparty.scss +8 -0
  19. package/lib/components/Video/Video.scss +10 -0
  20. package/lib/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.scss +49 -0
  21. package/lib/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.scss +128 -0
  22. package/lib/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.scss +34 -0
  23. package/lib/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.scss +15 -0
  24. package/lib/components/VideoPlaceholders/Tooltip.scss +65 -0
  25. package/lib/src/components/Avatar/Avatar.d.ts +8 -0
  26. package/lib/src/components/Avatar/Avatar.d.ts.map +1 -0
  27. package/lib/src/components/Avatar/Avatar.js +26 -0
  28. package/lib/src/components/Avatar/Avatar.js.map +1 -0
  29. package/lib/src/components/ButtonPanels/EndMeetingButtonPanel/EndMeetingButtonPanel.d.ts +7 -0
  30. package/lib/src/components/ButtonPanels/EndMeetingButtonPanel/EndMeetingButtonPanel.d.ts.map +1 -0
  31. package/lib/src/components/ButtonPanels/EndMeetingButtonPanel/EndMeetingButtonPanel.js +11 -0
  32. package/lib/src/components/ButtonPanels/EndMeetingButtonPanel/EndMeetingButtonPanel.js.map +1 -0
  33. package/lib/src/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.d.ts +21 -0
  34. package/lib/src/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.d.ts.map +1 -0
  35. package/lib/src/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.js +36 -0
  36. package/lib/src/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.js.map +1 -0
  37. package/lib/src/components/ButtonPanels/MultipartyButton/MultipartyButton.d.ts +18 -0
  38. package/lib/src/components/ButtonPanels/MultipartyButton/MultipartyButton.d.ts.map +1 -0
  39. package/lib/src/components/ButtonPanels/MultipartyButton/MultipartyButton.js +35 -0
  40. package/lib/src/components/ButtonPanels/MultipartyButton/MultipartyButton.js.map +1 -0
  41. package/lib/src/components/ButtonPanels/PinButtonPanel/PinButtonPanel.d.ts +10 -0
  42. package/lib/src/components/ButtonPanels/PinButtonPanel/PinButtonPanel.d.ts.map +1 -0
  43. package/lib/src/components/ButtonPanels/PinButtonPanel/PinButtonPanel.js +22 -0
  44. package/lib/src/components/ButtonPanels/PinButtonPanel/PinButtonPanel.js.map +1 -0
  45. package/lib/src/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.d.ts +9 -0
  46. package/lib/src/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.d.ts.map +1 -0
  47. package/lib/src/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.js +15 -0
  48. package/lib/src/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.js.map +1 -0
  49. package/lib/src/components/ButtonPanels/index.d.ts +6 -0
  50. package/lib/src/components/ButtonPanels/index.d.ts.map +1 -0
  51. package/lib/src/components/ButtonPanels/index.js +14 -0
  52. package/lib/src/components/ButtonPanels/index.js.map +1 -0
  53. package/lib/src/components/LoaderSpinner/LoaderSpinner.d.ts +8 -0
  54. package/lib/src/components/LoaderSpinner/LoaderSpinner.d.ts.map +1 -0
  55. package/lib/src/components/LoaderSpinner/LoaderSpinner.js +22 -0
  56. package/lib/src/components/LoaderSpinner/LoaderSpinner.js.map +1 -0
  57. package/lib/src/components/MagicMarker/MagicMarkerComponent.d.ts +36 -0
  58. package/lib/src/components/MagicMarker/MagicMarkerComponent.d.ts.map +1 -0
  59. package/lib/src/components/MagicMarker/MagicMarkerComponent.js +112 -0
  60. package/lib/src/components/MagicMarker/MagicMarkerComponent.js.map +1 -0
  61. package/lib/src/components/MagicMarker/index.d.ts +2 -0
  62. package/lib/src/components/MagicMarker/index.d.ts.map +1 -0
  63. package/lib/src/components/MagicMarker/index.js +6 -0
  64. package/lib/src/components/MagicMarker/index.js.map +1 -0
  65. package/lib/src/components/MediaRejectedModal/MediaRejectedModal.d.ts +24 -0
  66. package/lib/src/components/MediaRejectedModal/MediaRejectedModal.d.ts.map +1 -0
  67. package/lib/src/components/MediaRejectedModal/MediaRejectedModal.js +45 -0
  68. package/lib/src/components/MediaRejectedModal/MediaRejectedModal.js.map +1 -0
  69. package/lib/src/components/Multiparty.d.ts +23 -0
  70. package/lib/src/components/Multiparty.d.ts.map +1 -0
  71. package/lib/src/components/Multiparty.js +163 -0
  72. package/lib/src/components/Multiparty.js.map +1 -0
  73. package/lib/src/components/Multiparty.types.d.ts +11 -0
  74. package/lib/src/components/Multiparty.types.d.ts.map +1 -0
  75. package/lib/src/components/Multiparty.types.js +9 -0
  76. package/lib/src/components/Multiparty.types.js.map +1 -0
  77. package/lib/src/components/Video/Video.d.ts +22 -0
  78. package/lib/src/components/Video/Video.d.ts.map +1 -0
  79. package/lib/src/components/Video/Video.js +23 -0
  80. package/lib/src/components/Video/Video.js.map +1 -0
  81. package/lib/src/components/Video/VideoPlaceholder.d.ts +23 -0
  82. package/lib/src/components/Video/VideoPlaceholder.d.ts.map +1 -0
  83. package/lib/src/components/Video/VideoPlaceholder.js +30 -0
  84. package/lib/src/components/Video/VideoPlaceholder.js.map +1 -0
  85. package/lib/src/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.d.ts +23 -0
  86. package/lib/src/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.d.ts.map +1 -0
  87. package/lib/src/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.js +35 -0
  88. package/lib/src/components/VideoLayouts/AgentPinnedLayout/AgentPinnedLayout.js.map +1 -0
  89. package/lib/src/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.d.ts +34 -0
  90. package/lib/src/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.d.ts.map +1 -0
  91. package/lib/src/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.js +65 -0
  92. package/lib/src/components/VideoLayouts/BigMainVideoLayout/BigAreaLayout.js.map +1 -0
  93. package/lib/src/components/VideoLayouts/VideoLayoutManager.d.ts +29 -0
  94. package/lib/src/components/VideoLayouts/VideoLayoutManager.d.ts.map +1 -0
  95. package/lib/src/components/VideoLayouts/VideoLayoutManager.js +23 -0
  96. package/lib/src/components/VideoLayouts/VideoLayoutManager.js.map +1 -0
  97. package/lib/src/components/VideoLayouts/index.d.ts +2 -0
  98. package/lib/src/components/VideoLayouts/index.d.ts.map +1 -0
  99. package/lib/src/components/VideoLayouts/index.js +6 -0
  100. package/lib/src/components/VideoLayouts/index.js.map +1 -0
  101. package/lib/src/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.d.ts +12 -0
  102. package/lib/src/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.d.ts.map +1 -0
  103. package/lib/src/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.js +36 -0
  104. package/lib/src/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.js.map +1 -0
  105. package/lib/src/components/VideoPlaceholders/CameraOffButton.d.ts +4 -0
  106. package/lib/src/components/VideoPlaceholders/CameraOffButton.d.ts.map +1 -0
  107. package/lib/src/components/VideoPlaceholders/CameraOffButton.js +9 -0
  108. package/lib/src/components/VideoPlaceholders/CameraOffButton.js.map +1 -0
  109. package/lib/src/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.d.ts +12 -0
  110. package/lib/src/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.d.ts.map +1 -0
  111. package/lib/src/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.js +40 -0
  112. package/lib/src/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.js.map +1 -0
  113. package/lib/src/index.d.ts +7 -0
  114. package/lib/src/index.d.ts.map +1 -0
  115. package/lib/src/index.js +30 -0
  116. package/lib/src/index.js.map +1 -0
  117. package/lib/src/services/ConnectionManager.d.ts +27 -0
  118. package/lib/src/services/ConnectionManager.d.ts.map +1 -0
  119. package/lib/src/services/ConnectionManager.js +123 -0
  120. package/lib/src/services/ConnectionManager.js.map +1 -0
  121. package/lib/src/services/MediaStateService.d.ts +25 -0
  122. package/lib/src/services/MediaStateService.d.ts.map +1 -0
  123. package/lib/src/services/MediaStateService.js +84 -0
  124. package/lib/src/services/MediaStateService.js.map +1 -0
  125. package/lib/src/services/MultipartyController.d.ts +29 -0
  126. package/lib/src/services/MultipartyController.d.ts.map +1 -0
  127. package/lib/src/services/MultipartyController.js +300 -0
  128. package/lib/src/services/MultipartyController.js.map +1 -0
  129. package/lib/src/services/MultipartyEventTypes.d.ts +92 -0
  130. package/lib/src/services/MultipartyEventTypes.d.ts.map +1 -0
  131. package/lib/src/services/MultipartyEventTypes.js +19 -0
  132. package/lib/src/services/MultipartyEventTypes.js.map +1 -0
  133. package/lib/src/services/trafficLogManager.d.ts +21 -0
  134. package/lib/src/services/trafficLogManager.d.ts.map +1 -0
  135. package/lib/src/services/trafficLogManager.js +130 -0
  136. package/lib/src/services/trafficLogManager.js.map +1 -0
  137. package/lib/src/services/types.d.ts +39 -0
  138. package/lib/src/services/types.d.ts.map +1 -0
  139. package/lib/src/services/types.js +47 -0
  140. package/lib/src/services/types.js.map +1 -0
  141. package/lib/src/utils/ClientConstants.d.ts +3 -0
  142. package/lib/src/utils/ClientConstants.d.ts.map +1 -0
  143. package/lib/src/utils/ClientConstants.js +6 -0
  144. package/lib/src/utils/ClientConstants.js.map +1 -0
  145. package/lib/src/utils/MergingStore.d.ts +9 -0
  146. package/lib/src/utils/MergingStore.d.ts.map +1 -0
  147. package/lib/src/utils/MergingStore.js +85 -0
  148. package/lib/src/utils/MergingStore.js.map +1 -0
  149. package/lib/src/utils/detectOsType.d.ts +8 -0
  150. package/lib/src/utils/detectOsType.d.ts.map +1 -0
  151. package/lib/src/utils/detectOsType.js +23 -0
  152. package/lib/src/utils/detectOsType.js.map +1 -0
  153. package/lib/src/utils/index.d.ts +5 -0
  154. package/lib/src/utils/index.d.ts.map +1 -0
  155. package/lib/src/utils/index.js +14 -0
  156. package/lib/src/utils/index.js.map +1 -0
  157. package/lib/src/utils/useEvent.d.ts +8 -0
  158. package/lib/src/utils/useEvent.d.ts.map +1 -0
  159. package/lib/src/utils/useEvent.js +24 -0
  160. package/lib/src/utils/useEvent.js.map +1 -0
  161. package/lib/test/services/ConnectionManager.unit.d.ts +2 -0
  162. package/lib/test/services/ConnectionManager.unit.d.ts.map +1 -0
  163. package/lib/test/services/ConnectionManager.unit.js +207 -0
  164. package/lib/test/services/ConnectionManager.unit.js.map +1 -0
  165. 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkE;AAClE,yFAAyF;AACzF,iFAA6G;AAC7G,yEAAiG;AACjG,2CAAgH;AAChH,kCAAgD;AAChD,yEAAkE;AAClE,8EAA2E;AAC3E,uDAM4B;AAC5B,+CAAkD;AAElD,4DAA0D;AAC1D,6BAA2B;AAcpB,IAAM,UAAU,GAA8B,UAAC,EAUrD;QATG,UAAU,gBAAA,EACV,YAAY,kBAAA,EACZ,6BAA6B,mCAAA,EAC7B,kBAAkB,wBAAA,EAClB,mCAAmC,yCAAA,EACnC,mBAAmB,yBAAA,EACnB,mBAAmB,yBAAA,EACnB,qBAAqB,2BAAA,EACrB,YAAY,kBAAA;IAEN,IAAA,KAAgD,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAA9D,mBAAmB,QAAA,EAAE,sBAAsB,QAAmB,CAAC;IAChE,IAAA,KAAsE,IAAA,gBAAQ,EAAC,IAAI,CAAC,EAAnF,8BAA8B,QAAA,EAAE,iCAAiC,QAAkB,CAAC;IACrF,IAAA,KAAkE,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAhF,6BAA6B,QAAA,EAAE,8BAA8B,QAAmB,CAAC;IAElF,IAAA,KAA0B,IAAA,gBAAQ,EAAC,UAAU,CAAC,QAAQ,CAAC,EAAtD,QAAQ,QAAA,EAAE,WAAW,QAAiC,CAAC;IACxD,IAAA,KAA8B,IAAA,gBAAQ,EAAiB,UAAU,CAAC,UAAU,CAAC,EAA5E,UAAU,QAAA,EAAE,aAAa,QAAmD,CAAC;IAC9E,IAAA,KAAwC,IAAA,gBAAQ,EAAC,UAAU,CAAC,eAAe,CAAC,EAA3E,eAAe,QAAA,EAAE,kBAAkB,QAAwC,CAAC;IAE7E,IAAA,KAAkC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAhD,YAAY,QAAA,EAAE,eAAe,QAAmB,CAAC;IAClD,IAAA,KAA0C,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAxD,gBAAgB,QAAA,EAAE,mBAAmB,QAAmB,CAAC;IAC1D,IAAA,KAAwD,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAtE,uBAAuB,QAAA,EAAE,0BAA0B,QAAmB,CAAC;IAExE,IAAA,KAAgC,IAAA,gBAAQ,EAA2B,EAAE,CAAC,EAArE,WAAW,QAAA,EAAE,cAAc,QAA0C,CAAC;IAE7E,IAAM,UAAU,GAAG,IAAA,mBAAW,EAAC,cAAM,OAAA,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,EAApC,CAAoC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IACvG,IAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,cAAM,OAAA,UAAU,CAAC,YAAY,EAAE,EAAzB,CAAyB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAChF,IAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,cAAM,OAAA,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAxC,CAAwC,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAChH,IAAM,aAAa,GAAG,IAAA,mBAAW,EAAC,cAAM,OAAA,iCAAiC,CAAC,KAAK,CAAC,EAAxC,CAAwC,EAAE,EAAE,CAAC,CAAC;IACtF,IAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,cAAM,OAAA,iCAAiC,CAAC,IAAI,CAAC,EAAvC,CAAuC,EAAE,EAAE,CAAC,CAAC;IAEnF,IAAA,iBAAS,EAAC;QACN,UAAU,CAAC,OAAO,EAAE,CAAC;QACrB,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAE7C,OAAO,cAAM,OAAA,UAAU,CAAC,UAAU,EAAE,EAAvB,CAAuB,CAAC;IACzC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,IAAA,iBAAS,EAAC;QACN,mCAAmC,aAAnC,mCAAmC,uBAAnC,mCAAmC,CAC/B,6BAA6B,IAAI,8BAA8B;YAC3D,CAAC,CAAC,yDAAsC,CAAC,UAAU;YACnD,CAAC,CAAC,yDAAsC,CAAC,YAAY,CAC5D,CAAC;IACN,CAAC,EAAE,CAAC,6BAA6B,EAAE,8BAA8B,EAAE,mCAAmC,CAAC,CAAC,CAAC;IAEzG,IAAA,iBAAS,EAAC;QACN,UAAU,CAAC,WAAW,CAAC,8BAA8B,CAAC,6BAA6B,CAAC,CAAC;QAErF,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC;QACN,UAAU,CAAC,WAAW,CAAC,+BAA+B,CAAC,6BAA6B,IAAI,KAAK,CAAC,CAAC;QAE/F,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC,EAAE,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAAC,CAAC;IAEhD,IAAA,iBAAS,EAAC;QACN,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1B,IAAA,iBAAS,EAAC;QACN,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;IAEjC,IAAA,gBAAQ,EACJ,UAAU,EACV,+CAAwB,CAAC,aAAa,EACtC,UAAC,QAAwB,IAAK,OAAA,aAAa,CAAC,QAAQ,CAAC,EAAvB,CAAuB,EACrD,EAAE,CACL,CAAC;IAEF,IAAA,gBAAQ,EACJ,UAAU,EACV,uCAAgB,CAAC,iBAAiB,EAClC;QACI,IAAM,kBAAkB,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAExD,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAEnC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,sBAAsB,CAAC,IAAI,CAAC,CAAC;SAChC;IACL,CAAC,EACD,EAAE,CACL,CAAC;IAEF,IAAA,gBAAQ,EACJ,UAAU,EACV,uCAAgB,CAAC,mBAAmB,EACpC;QACI,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC,EACD,EAAE,CACL,CAAC;IAEF,IAAA,gBAAQ,EACJ,UAAU,EACV,uCAAgB,CAAC,aAAa,EAC9B,UAAO,EAAqC;YAApC,eAAe,qBAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAA;;;;;;wBACvC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;6BAEzC,eAAe,EAAf,wBAAe;wBACc,qBAAM,IAAA,qCAAwB,GAAE,EAAA;;wBAAvD,oBAAoB,GAAG,SAAgC;wBAE7D,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;wBACjD,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;wBAC3B,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC;;;;;;KAEtC,EACD,EAAE,CACL,CAAC;IAEF,IAAA,gBAAQ,EACJ,UAAU,EACV,uCAAgB,CAAC,qBAAqB,EACtC,UAAC,EAAqC;YAApC,eAAe,qBAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAA;QACjC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAE7C,IAAI,eAAe,EAAE;YACjB,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3B,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC;SAClC;IACL,CAAC,EACD,EAAE,CACL,CAAC;IAEF,IAAA,gBAAQ,EACJ,UAAU,EACV,uCAAgB,CAAC,uBAAuB,EACxC,UAAC,EAAiB;YAAhB,eAAe,qBAAA;QACb,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAE7C,IAAI,eAAe,EAAE;YACjB,8BAA8B,CAAC,IAAI,CAAC,CAAC;SACxC;IACL,CAAC,EACD,EAAE,CACL,CAAC;IAEF,IAAM,2BAA2B,GAAG;QAChC,IACI,UAAU,CAAC,QAAQ,KAAK,kCAAiB,CAAC,IAAI;YAC9C,6BAA6B;YAC7B,8BAA8B,EAChC;YACE,OAAO,uBAAC,uCAAkB,IAAC,MAAM,EAAE,IAAA,oBAAY,GAAE,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,GAAI,CAAC;SAC7G;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACH,0CAAK,SAAS,EAAC,uBAAuB,iBAClC,uBAAC,2BAA2B,KAAG,EAC/B,uBAAC,iCAAkB,IACf,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,IAAA,2BAAmB,EAAC,UAAU,CAAC,EAC5C,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,mBAAmB,EACvC,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EACvD,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,WAAW,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,mBAAmB,EAClC,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAClE,mBAAmB,EAAE,mBAAmB,EACxC,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,GAC5B,KACA,CACT,CAAC;AACN,CAAC,CAAC;AAhLW,QAAA,UAAU,cAgLrB"}
@@ -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,2 @@
1
+ export { VideoLayoutManager } from './VideoLayoutManager';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}