@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,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VideoLayoutManager = void 0;
4
+ var VideoLayoutManager_1 = require("./VideoLayoutManager");
5
+ Object.defineProperty(exports, "VideoLayoutManager", { enumerable: true, get: function () { return VideoLayoutManager_1.VideoLayoutManager; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/VideoLayouts/index.ts"],"names":[],"mappings":";;;AAAA,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import './BigAreaMediaPermissionDeniedPlaceholder.scss';
3
+ import { VideoTranslationStrings } from '../Video/VideoPlaceholder';
4
+ import { ConnectionDetails } from '../../services/types';
5
+ type BigAreaMediaPermissionDeniedPlaceholderProps = {
6
+ onModalOpen?: () => void;
7
+ translations: VideoTranslationStrings;
8
+ connectionDetails?: ConnectionDetails;
9
+ };
10
+ declare const BigAreaMediaPermissionDeniedPlaceholder: React.FC<BigAreaMediaPermissionDeniedPlaceholderProps>;
11
+ export default BigAreaMediaPermissionDeniedPlaceholder;
12
+ //# sourceMappingURL=BigAreaMediaPermissionDeniedPlaceholder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigAreaMediaPermissionDeniedPlaceholder.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,gDAAgD,CAAC;AAIxD,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,KAAK,4CAA4C,GAAG;IAChD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,uBAAuB,CAAC;IACtC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC,CAAC;AAEF,QAAA,MAAM,uCAAuC,EAAE,KAAK,CAAC,EAAE,CAAC,4CAA4C,CAiDnG,CAAC;AAEF,eAAe,uCAAuC,CAAC"}
@@ -0,0 +1,36 @@
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
+ var jsx_runtime_1 = require("react/jsx-runtime");
15
+ require("./BigAreaMediaPermissionDeniedPlaceholder.scss");
16
+ var large_rounded_icon_1 = require("@techsee/techsee-ui-common/lib/icons/large-rounded-icon");
17
+ var MediaConstants_1 = require("@techsee/techsee-nway-media-service/lib/MediaConstants");
18
+ var CameraOffButton_1 = require("./CameraOffButton");
19
+ var Avatar_1 = require("../Avatar/Avatar");
20
+ var BigAreaMediaPermissionDeniedPlaceholder = function (_a) {
21
+ var onModalOpen = _a.onModalOpen, translations = _a.translations, connectionDetails = _a.connectionDetails;
22
+ var mediaRejectedPermissionDeniedTitle = translations.mediaRejectedPermissionDeniedTitle, mediaRejectedPermissionDeniedText = translations.mediaRejectedPermissionDeniedText, mediaRejectedUserDeniedPermission = translations.mediaRejectedUserDeniedPermission, mediaRejectedTipClick = translations.mediaRejectedTipClick, mediaRejectedTipLearn = translations.mediaRejectedTipLearn, mediaRejectedAccessDenied = translations.mediaRejectedAccessDenied;
23
+ var userRole = connectionDetails === null || connectionDetails === void 0 ? void 0 : connectionDetails.userRole;
24
+ if (!(connectionDetails === null || connectionDetails === void 0 ? void 0 : connectionDetails.isOwnConnection)) {
25
+ if (userRole === MediaConstants_1.SessionClientRole.USER) {
26
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'camera-off-container-big' }, { children: [(0, jsx_runtime_1.jsx)("div", __assign({ className: 'disable-pointer' }, { children: (0, CameraOffButton_1.CameraOffButton)(large_rounded_icon_1.IconSizes.XXLarge) })), (0, jsx_runtime_1.jsx)("p", __assign({ className: 'permission-denied-description user' }, { children: mediaRejectedUserDeniedPermission }))] })));
27
+ }
28
+ return (0, jsx_runtime_1.jsx)(Avatar_1.Avatar, {});
29
+ }
30
+ if (userRole === MediaConstants_1.SessionClientRole.USER) {
31
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'camera-off-container-big' }, { children: [(0, jsx_runtime_1.jsx)("div", __assign({ className: 'disable-pointer' }, { children: (0, CameraOffButton_1.CameraOffButton)(large_rounded_icon_1.IconSizes.XXLarge, onModalOpen) })), (0, jsx_runtime_1.jsx)("p", __assign({ className: 'permission-denied-title' }, { children: mediaRejectedAccessDenied })), (0, jsx_runtime_1.jsxs)("p", __assign({ className: 'permission-denied-description' }, { children: [(0, jsx_runtime_1.jsx)("span", __assign({ className: 'open-modal-button', onClick: onModalOpen }, { children: mediaRejectedTipClick })), ' ', mediaRejectedTipLearn] }))] })));
32
+ }
33
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'camera-off-container-big' }, { children: [(0, jsx_runtime_1.jsx)("div", __assign({ className: 'disable-pointer' }, { children: (0, CameraOffButton_1.CameraOffButton)(large_rounded_icon_1.IconSizes.XXLarge) })), (0, jsx_runtime_1.jsx)("p", __assign({ className: 'permission-denied-title' }, { children: mediaRejectedPermissionDeniedTitle })), (0, jsx_runtime_1.jsx)("p", __assign({ className: 'permission-denied-tooltip-text-big' }, { children: mediaRejectedPermissionDeniedText }))] })));
34
+ };
35
+ exports.default = BigAreaMediaPermissionDeniedPlaceholder;
36
+ //# sourceMappingURL=BigAreaMediaPermissionDeniedPlaceholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BigAreaMediaPermissionDeniedPlaceholder.js","sourceRoot":"","sources":["../../../../src/components/VideoPlaceholders/BigAreaMediaPermissionDeniedPlaceholder.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,0DAAwD;AACxD,8FAAkF;AAClF,yFAAyF;AACzF,qDAAkD;AAElD,2CAAwC;AASxC,IAAM,uCAAuC,GAA2D,UAAC,EAIxG;QAHG,WAAW,iBAAA,EACX,YAAY,kBAAA,EACZ,iBAAiB,uBAAA;IAGb,IAAA,kCAAkC,GAMlC,YAAY,mCANsB,EAClC,iCAAiC,GAKjC,YAAY,kCALqB,EACjC,iCAAiC,GAIjC,YAAY,kCAJqB,EACjC,qBAAqB,GAGrB,YAAY,sBAHS,EACrB,qBAAqB,GAErB,YAAY,sBAFS,EACrB,yBAAyB,GACzB,YAAY,0BADa,CACZ;IACjB,IAAM,QAAQ,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,CAAC;IAE7C,IAAI,CAAC,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,CAAA,EAAE;QACrC,IAAI,QAAQ,KAAK,kCAAiB,CAAC,IAAI,EAAE;YACrC,OAAO,CACH,0CAAK,SAAS,EAAC,0BAA0B,iBACrC,yCAAK,SAAS,EAAC,iBAAiB,gBAAE,IAAA,iCAAe,EAAC,8BAAS,CAAC,OAAO,CAAC,IAAO,EAC3E,uCAAG,SAAS,EAAC,oCAAoC,gBAAE,iCAAiC,IAAK,KACvF,CACT,CAAC;SACL;QAED,OAAO,uBAAC,eAAM,KAAG,CAAC;KACrB;IACD,IAAI,QAAQ,KAAK,kCAAiB,CAAC,IAAI,EAAE;QACrC,OAAO,CACH,0CAAK,SAAS,EAAC,0BAA0B,iBACrC,yCAAK,SAAS,EAAC,iBAAiB,gBAAE,IAAA,iCAAe,EAAC,8BAAS,CAAC,OAAO,EAAE,WAAW,CAAC,IAAO,EACxF,uCAAG,SAAS,EAAC,yBAAyB,gBAAE,yBAAyB,IAAK,EACtE,wCAAG,SAAS,EAAC,+BAA+B,iBACxC,0CAAM,SAAS,EAAC,mBAAmB,EAAC,OAAO,EAAE,WAAW,gBACnD,qBAAqB,IACnB,EAAC,GAAG,EACV,qBAAqB,KACtB,KACF,CACT,CAAC;KACL;IAED,OAAO,CACH,0CAAK,SAAS,EAAC,0BAA0B,iBACrC,yCAAK,SAAS,EAAC,iBAAiB,gBAAE,IAAA,iCAAe,EAAC,8BAAS,CAAC,OAAO,CAAC,IAAO,EAC3E,uCAAG,SAAS,EAAC,yBAAyB,gBAAE,kCAAkC,IAAK,EAC/E,uCAAG,SAAS,EAAC,oCAAoC,gBAAE,iCAAiC,IAAK,KACvF,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,uCAAuC,CAAC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { IconSizes } from '@techsee/techsee-ui-common/lib/icons/large-rounded-icon';
3
+ export declare const CameraOffButton: (size: IconSizes, onModalOpen?: () => void) => JSX.Element;
4
+ //# sourceMappingURL=CameraOffButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CameraOffButton.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoPlaceholders/CameraOffButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAGH,SAAS,EAEZ,MAAM,yDAAyD,CAAC;AAIjE,eAAO,MAAM,eAAe,SAAU,SAAS,gBAAgB,MAAM,IAAI,KAAG,WAW3E,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CameraOffButton = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var large_rounded_icon_1 = require("@techsee/techsee-ui-common/lib/icons/large-rounded-icon");
6
+ var border_rounded_icon_1 = require("@techsee/techsee-ui-common/lib/forms/buttons/border-rounded-icon");
7
+ var CameraOffButton = function (size, onModalOpen) { return ((0, jsx_runtime_1.jsx)(border_rounded_icon_1.BorderRoundedIconButton, { onClick: onModalOpen, sizeName: size, iconName: 'camera-off', colorName: large_rounded_icon_1.IconColors.White, iconTransparency: large_rounded_icon_1.IconTransparencies.NONE, noBorder: true, reverseColor: true, backgroundTransparency: large_rounded_icon_1.BackgroundTransparencies.TEN })); };
8
+ exports.CameraOffButton = CameraOffButton;
9
+ //# sourceMappingURL=CameraOffButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CameraOffButton.js","sourceRoot":"","sources":["../../../../src/components/VideoPlaceholders/CameraOffButton.tsx"],"names":[],"mappings":";;;;AAAA,8FAKiE;AACjE,wGAAyG;AAGlG,IAAM,eAAe,GAAG,UAAC,IAAe,EAAE,WAAwB,IAAkB,OAAA,CACvF,uBAAC,6CAAuB,IACpB,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAC,YAAY,EACrB,SAAS,EAAE,+BAAU,CAAC,KAAK,EAC3B,gBAAgB,EAAE,uCAAkB,CAAC,IAAI,EACzC,QAAQ,QACR,YAAY,QACZ,sBAAsB,EAAE,6CAAwB,CAAC,GAAG,GACtD,CACL,EAX0F,CAW1F,CAAC;AAXW,QAAA,eAAe,mBAW1B"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import './SmallAreaMediaPermissionDeniedPlaceholder.scss';
3
+ import { VideoTranslationStrings } from '../Video/VideoPlaceholder';
4
+ import { ConnectionDetails } from '../../services/types';
5
+ type SmallAreaMediaPermissionDeniedPlaceholderProps = {
6
+ onModalOpen?: () => void;
7
+ translations: VideoTranslationStrings;
8
+ connectionDetails?: ConnectionDetails;
9
+ };
10
+ declare const SmallAreaMediaPermissionDeniedPlaceholder: React.FC<SmallAreaMediaPermissionDeniedPlaceholderProps>;
11
+ export default SmallAreaMediaPermissionDeniedPlaceholder;
12
+ //# sourceMappingURL=SmallAreaMediaPermissionDeniedPlaceholder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmallAreaMediaPermissionDeniedPlaceholder.d.ts","sourceRoot":"","sources":["../../../../src/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,kDAAkD,CAAC;AAK1D,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAGvD,KAAK,8CAA8C,GAAG;IAClD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,uBAAuB,CAAC;IACtC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC,CAAC;AAEF,QAAA,MAAM,yCAAyC,EAAE,KAAK,CAAC,EAAE,CAAC,8CAA8C,CAsCvG,CAAC;AAEF,eAAe,yCAAyC,CAAC"}
@@ -0,0 +1,40 @@
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
+ var jsx_runtime_1 = require("react/jsx-runtime");
18
+ require("./SmallAreaMediaPermissionDeniedPlaceholder.scss");
19
+ var MediaConstants_1 = require("@techsee/techsee-nway-media-service/lib/MediaConstants");
20
+ var large_rounded_icon_1 = require("@techsee/techsee-ui-common/lib/icons/large-rounded-icon");
21
+ var Avatar_1 = require("../Avatar/Avatar");
22
+ var exclamation_mark_png_1 = __importDefault(require("../../assets/img/exclamation-mark.png"));
23
+ var CameraOffButton_1 = require("./CameraOffButton");
24
+ var SmallAreaMediaPermissionDeniedPlaceholder = function (_a) {
25
+ var onModalOpen = _a.onModalOpen, translations = _a.translations, connectionDetails = _a.connectionDetails;
26
+ var mediaRejectedUserDeniedPermission = translations.mediaRejectedUserDeniedPermission, mediaRejectedAccessDeniedTooltip = translations.mediaRejectedAccessDeniedTooltip;
27
+ var userRole = connectionDetails === null || connectionDetails === void 0 ? void 0 : connectionDetails.userRole;
28
+ if (!(connectionDetails === null || connectionDetails === void 0 ? void 0 : connectionDetails.isOwnConnection)) {
29
+ if (userRole === MediaConstants_1.SessionClientRole.USER) {
30
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'camera-off-container-small permission-denied-tooltip' }, { children: [(0, jsx_runtime_1.jsx)("img", { src: exclamation_mark_png_1.default, className: 'exclamation-mark', alt: 'camera-off' }), (0, jsx_runtime_1.jsx)("div", __assign({ className: 'disable-pointer' }, { children: (0, CameraOffButton_1.CameraOffButton)(large_rounded_icon_1.IconSizes.MobileLarge) })), (0, jsx_runtime_1.jsx)("span", __assign({ className: 'permission-denied-tooltip-text' }, { children: mediaRejectedUserDeniedPermission }))] })));
31
+ }
32
+ return (0, jsx_runtime_1.jsx)(Avatar_1.Avatar, {});
33
+ }
34
+ if (userRole === MediaConstants_1.SessionClientRole.USER) {
35
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'camera-off-container-small' }, { children: [(0, jsx_runtime_1.jsx)("img", { src: exclamation_mark_png_1.default, className: 'exclamation-mark', alt: 'camera-off' }), (0, jsx_runtime_1.jsx)("div", { children: (0, CameraOffButton_1.CameraOffButton)(large_rounded_icon_1.IconSizes.MobileLarge, onModalOpen) })] })));
36
+ }
37
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'camera-off-container-small permission-denied-tooltip' }, { children: [(0, jsx_runtime_1.jsx)("img", { src: exclamation_mark_png_1.default, className: 'exclamation-mark', alt: 'camera-off' }), (0, jsx_runtime_1.jsx)("div", __assign({ className: 'disable-pointer' }, { children: (0, CameraOffButton_1.CameraOffButton)(large_rounded_icon_1.IconSizes.MobileLarge) })), (0, jsx_runtime_1.jsx)("span", __assign({ className: 'permission-denied-tooltip-text' }, { children: mediaRejectedAccessDeniedTooltip }))] })));
38
+ };
39
+ exports.default = SmallAreaMediaPermissionDeniedPlaceholder;
40
+ //# sourceMappingURL=SmallAreaMediaPermissionDeniedPlaceholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SmallAreaMediaPermissionDeniedPlaceholder.js","sourceRoot":"","sources":["../../../../src/components/VideoPlaceholders/SmallAreaMediaPermissionDeniedPlaceholder.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,4DAA0D;AAC1D,yFAAyF;AACzF,8FAAkF;AAClF,2CAAwC;AACxC,+FAAoE;AAGpE,qDAAkD;AAQlD,IAAM,yCAAyC,GAA6D,UAAC,EAI5G;QAHG,WAAW,iBAAA,EACX,YAAY,kBAAA,EACZ,iBAAiB,uBAAA;IAEV,IAAA,iCAAiC,GAAsC,YAAY,kCAAlD,EAAE,gCAAgC,GAAI,YAAY,iCAAhB,CAAiB;IAC3F,IAAM,QAAQ,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,CAAC;IAE7C,IAAI,CAAC,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,eAAe,CAAA,EAAE;QACrC,IAAI,QAAQ,KAAK,kCAAiB,CAAC,IAAI,EAAE;YACrC,OAAO,CACH,0CAAK,SAAS,EAAC,sDAAsD,iBACjE,gCAAK,GAAG,EAAE,8BAAe,EAAE,SAAS,EAAC,kBAAkB,EAAC,GAAG,EAAC,YAAY,GAAG,EAC3E,yCAAK,SAAS,EAAC,iBAAiB,gBAAE,IAAA,iCAAe,EAAC,8BAAS,CAAC,WAAW,CAAC,IAAO,EAC/E,0CAAM,SAAS,EAAC,gCAAgC,gBAAE,iCAAiC,IAAQ,KACzF,CACT,CAAC;SACL;QAED,OAAO,uBAAC,eAAM,KAAG,CAAC;KACrB;IAED,IAAI,QAAQ,KAAK,kCAAiB,CAAC,IAAI,EAAE;QACrC,OAAO,CACH,0CAAK,SAAS,EAAC,4BAA4B,iBACvC,gCAAK,GAAG,EAAE,8BAAe,EAAE,SAAS,EAAC,kBAAkB,EAAC,GAAG,EAAC,YAAY,GAAG,EAC3E,0CAAM,IAAA,iCAAe,EAAC,8BAAS,CAAC,WAAW,EAAE,WAAW,CAAC,GAAO,KAC9D,CACT,CAAC;KACL;IAED,OAAO,CACH,0CAAK,SAAS,EAAC,sDAAsD,iBACjE,gCAAK,GAAG,EAAE,8BAAe,EAAE,SAAS,EAAC,kBAAkB,EAAC,GAAG,EAAC,YAAY,GAAG,EAC3E,yCAAK,SAAS,EAAC,iBAAiB,gBAAE,IAAA,iCAAe,EAAC,8BAAS,CAAC,WAAW,CAAC,IAAO,EAC/E,0CAAM,SAAS,EAAC,gCAAgC,gBAAE,gCAAgC,IAAQ,KACxF,CACT,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,yCAAyC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './services/MultipartyEventTypes';
2
+ export { Multiparty } from './components/Multiparty';
3
+ export { MultipartyTranslationStrings, PermissionsModalVisibilityChangedEvent, OnPermissionsModalVisibilityChangedCb, OnSnapshotRequestedCb, OnEndMeetingRequestedCb } from './components/Multiparty.types';
4
+ export { MagicMarkerComponent, MagicMarkerOptions, MagicMarkerComponentProps } from './components/MagicMarker';
5
+ export { MultipartySessionSettings, AudioState, PinnedUserType, OnPinnedUserChangedCb } from './services/types';
6
+ export { createMultipartyController, IMultipartyController } from './services/MultipartyController';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EACH,4BAA4B,EAC5B,sCAAsC,EACtC,qCAAqC,EACrC,qBAAqB,EACrB,uBAAuB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,oBAAoB,EAAE,kBAAkB,EAAE,yBAAyB,EAAC,MAAM,0BAA0B,CAAC;AAC7G,OAAO,EAAC,yBAAyB,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAC,0BAA0B,EAAE,qBAAqB,EAAC,MAAM,iCAAiC,CAAC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.createMultipartyController = exports.PinnedUserType = exports.AudioState = exports.MagicMarkerComponent = exports.PermissionsModalVisibilityChangedEvent = exports.Multiparty = void 0;
18
+ __exportStar(require("./services/MultipartyEventTypes"), exports);
19
+ var Multiparty_1 = require("./components/Multiparty");
20
+ Object.defineProperty(exports, "Multiparty", { enumerable: true, get: function () { return Multiparty_1.Multiparty; } });
21
+ var Multiparty_types_1 = require("./components/Multiparty.types");
22
+ Object.defineProperty(exports, "PermissionsModalVisibilityChangedEvent", { enumerable: true, get: function () { return Multiparty_types_1.PermissionsModalVisibilityChangedEvent; } });
23
+ var MagicMarker_1 = require("./components/MagicMarker");
24
+ Object.defineProperty(exports, "MagicMarkerComponent", { enumerable: true, get: function () { return MagicMarker_1.MagicMarkerComponent; } });
25
+ var types_1 = require("./services/types");
26
+ Object.defineProperty(exports, "AudioState", { enumerable: true, get: function () { return types_1.AudioState; } });
27
+ Object.defineProperty(exports, "PinnedUserType", { enumerable: true, get: function () { return types_1.PinnedUserType; } });
28
+ var MultipartyController_1 = require("./services/MultipartyController");
29
+ Object.defineProperty(exports, "createMultipartyController", { enumerable: true, get: function () { return MultipartyController_1.createMultipartyController; } });
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kEAAgD;AAChD,sDAAmD;AAA3C,wGAAA,UAAU,OAAA;AAClB,kEAMuC;AAJnC,0IAAA,sCAAsC,OAAA;AAK1C,wDAA6G;AAArG,mHAAA,oBAAoB,OAAA;AAC5B,0CAA8G;AAA3E,mGAAA,UAAU,OAAA;AAAE,uGAAA,cAAc,OAAA;AAC7D,wEAAkG;AAA1F,kIAAA,0BAA0B,OAAA"}
@@ -0,0 +1,27 @@
1
+ /// <reference types="node" />
2
+ import { SessionClientRole } from '@techsee/techsee-nway-media-service/lib/MediaConstants';
3
+ import { MultipartyServiceConnectionCreatedEvent, MultipartyServiceConnectionDestroyedEvent, MultipartyServiceStreamCreatedEvent, MultipartyServiceStreamDestroyedEvent, MultipartyServiceStreamPropertyChangedEvent } from '@techsee/techsee-nway-media-service/lib/MultiParty';
4
+ import { EventEmitter } from 'events';
5
+ import { ConnectionDetails } from './types';
6
+ export declare enum ConnectionManagerEvents {
7
+ ConnectionsUpdatedEvent = "connectionsUpdatedEvent"
8
+ }
9
+ export declare class ConnectionManager extends EventEmitter {
10
+ readonly userRole: SessionClientRole;
11
+ private readonly store;
12
+ private isOwnMediaPermissionsRejected;
13
+ private isPeerMediaPermissionRejected;
14
+ constructor(userRole: SessionClientRole);
15
+ private emitConnections;
16
+ initWith: (...connections: Array<ConnectionDetails>) => void;
17
+ setOwnMediaPermissionsRejected: (isRejected: boolean) => void;
18
+ setPeerMediaPermissionsRejected: (isRejected: boolean) => void;
19
+ connectionCreated: (event: MultipartyServiceConnectionCreatedEvent) => void;
20
+ connectionDestroyed: (event: MultipartyServiceConnectionDestroyedEvent) => void;
21
+ streamCreated: (event: MultipartyServiceStreamCreatedEvent) => void;
22
+ streamDestroyed: (event: MultipartyServiceStreamDestroyedEvent) => void;
23
+ streamPropertyChanged: (event: MultipartyServiceStreamPropertyChangedEvent) => void;
24
+ find: <T extends keyof ConnectionDetails>(findBy: T, equalTo: ConnectionDetails[T]) => Readonly<ConnectionDetails> | null;
25
+ get: () => Readonly<ConnectionDetails>[];
26
+ }
27
+ //# sourceMappingURL=ConnectionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionManager.d.ts","sourceRoot":"","sources":["../../../src/services/ConnectionManager.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,wDAAwD,CAAC;AACzF,OAAO,EACH,uCAAuC,EACvC,yCAAyC,EACzC,mCAAmC,EACnC,qCAAqC,EACrC,2CAA2C,EAC9C,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAC,iBAAiB,EAAkB,MAAM,SAAS,CAAC;AAE3D,oBAAY,uBAAuB;IAC/B,uBAAuB,4BAA4B;CACtD;AACD,qBAAa,iBAAkB,SAAQ,YAAY;aAMnB,QAAQ,EAAE,iBAAiB;IALvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAE/D,OAAO,CAAC,6BAA6B,CAAS;IAC9C,OAAO,CAAC,6BAA6B,CAAS;gBAElB,QAAQ,EAAE,iBAAiB;IAIvD,OAAO,CAAC,eAAe,CAMrB;IAEK,QAAQ,mBAAoB,MAAM,iBAAiB,CAAC,KAAG,IAAI,CAEhE;IAEK,8BAA8B,eAAgB,OAAO,KAAG,IAAI,CASjE;IAEK,+BAA+B,eAAgB,OAAO,KAAG,IAAI,CAgBlE;IAEK,iBAAiB,UAAW,uCAAuC,KAAG,IAAI,CA0B/E;IAEK,mBAAmB,UAAW,yCAAyC,KAAG,IAAI,CAInF;IAEK,aAAa,UAAW,mCAAmC,KAAG,IAAI,CAOvE;IAEK,eAAe,UAAW,qCAAqC,KAAG,IAAI,CAM3E;IAEK,qBAAqB,UAAW,2CAA2C,KAAG,IAAI,CAWvF;IAEK,IAAI,mFAGR,SAAS,iBAAiB,CAAC,GAAG,IAAI,CAAqC;IAEnE,GAAG,QAAO,SAAS,iBAAiB,CAAC,EAAE,CAAqB;CACtE"}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ConnectionManager = exports.ConnectionManagerEvents = void 0;
19
+ var MediaConstants_1 = require("@techsee/techsee-nway-media-service/lib/MediaConstants");
20
+ var events_1 = require("events");
21
+ var utils_1 = require("../utils");
22
+ var types_1 = require("./types");
23
+ var ConnectionManagerEvents;
24
+ (function (ConnectionManagerEvents) {
25
+ ConnectionManagerEvents["ConnectionsUpdatedEvent"] = "connectionsUpdatedEvent";
26
+ })(ConnectionManagerEvents = exports.ConnectionManagerEvents || (exports.ConnectionManagerEvents = {}));
27
+ var ConnectionManager = /** @class */ (function (_super) {
28
+ __extends(ConnectionManager, _super);
29
+ function ConnectionManager(userRole) {
30
+ var _this = _super.call(this) || this;
31
+ _this.userRole = userRole;
32
+ _this.store = new utils_1.MergingStore();
33
+ _this.isOwnMediaPermissionsRejected = false;
34
+ _this.isPeerMediaPermissionRejected = false;
35
+ _this.emitConnections = function (connections) {
36
+ if (connections.length > 0) {
37
+ return _super.prototype.emit.call(_this, ConnectionManagerEvents.ConnectionsUpdatedEvent, connections);
38
+ }
39
+ return false;
40
+ };
41
+ _this.initWith = function () {
42
+ var _a;
43
+ var connections = [];
44
+ for (var _i = 0; _i < arguments.length; _i++) {
45
+ connections[_i] = arguments[_i];
46
+ }
47
+ _this.emitConnections((_a = _this.store).add.apply(_a, connections));
48
+ };
49
+ _this.setOwnMediaPermissionsRejected = function (isRejected) {
50
+ _this.isOwnMediaPermissionsRejected = isRejected;
51
+ _this.emitConnections(_this.store.update('isOwnConnection', true, {
52
+ isMediaPermissionsRejected: isRejected,
53
+ connectionState: types_1.ConnectionState.ConnectedNoVideo
54
+ }));
55
+ };
56
+ _this.setPeerMediaPermissionsRejected = function (isRejected) {
57
+ if (_this.userRole !== MediaConstants_1.SessionClientRole.USER && _this.userRole !== MediaConstants_1.SessionClientRole.AGENT) {
58
+ return;
59
+ }
60
+ _this.isPeerMediaPermissionRejected = isRejected;
61
+ var peerConnection = _this.store.find('isOwnConnection', false);
62
+ _this.emitConnections(_this.store.update('isOwnConnection', false, {
63
+ isMediaPermissionsRejected: isRejected,
64
+ connectionState: _this.isPeerMediaPermissionRejected
65
+ ? types_1.ConnectionState.ConnectedNoVideo
66
+ : (peerConnection === null || peerConnection === void 0 ? void 0 : peerConnection.connectionState) || types_1.ConnectionState.ConnectedNoVideo
67
+ }));
68
+ };
69
+ _this.connectionCreated = function (event) {
70
+ var clientRole = event.clientRole, isOwnConnection = event.isOwnConnection, connectionId = event.connectionId;
71
+ if (isOwnConnection) {
72
+ _this.emitConnections(_this.store.update('isOwnConnection', true, {
73
+ connectionId: connectionId,
74
+ connectionState: types_1.ConnectionState.Connecting
75
+ }));
76
+ }
77
+ else {
78
+ _this.store.remove('userRole', clientRole);
79
+ _this.emitConnections(_this.store.add({
80
+ userRole: clientRole,
81
+ connectionId: connectionId,
82
+ isOwnConnection: isOwnConnection,
83
+ isMediaPermissionsRejected: _this.isPeerMediaPermissionRejected,
84
+ connectionState: _this.isPeerMediaPermissionRejected
85
+ ? types_1.ConnectionState.ConnectedNoVideo
86
+ : types_1.ConnectionState.Connecting,
87
+ videoStreamId: "".concat(utils_1.remoteVideoDomIdPrefix, "-").concat(connectionId)
88
+ }));
89
+ }
90
+ };
91
+ _this.connectionDestroyed = function (event) {
92
+ var connectionId = event.connectionId;
93
+ _this.emitConnections(_this.store.remove('connectionId', connectionId));
94
+ };
95
+ _this.streamCreated = function (event) {
96
+ var connectionId = event.connectionId;
97
+ var connectionState = (event === null || event === void 0 ? void 0 : event.hasVideo)
98
+ ? types_1.ConnectionState.ConnectedPublishingVideo
99
+ : types_1.ConnectionState.ConnectedNoVideo;
100
+ _this.emitConnections(_this.store.update('connectionId', connectionId, { connectionState: connectionState }));
101
+ };
102
+ _this.streamDestroyed = function (event) {
103
+ var connectionId = event.connectionId;
104
+ _this.emitConnections(_this.store.update('connectionId', connectionId, { connectionState: types_1.ConnectionState.ConnectedNoVideo }));
105
+ };
106
+ _this.streamPropertyChanged = function (event) {
107
+ var connectionId = event.connectionId;
108
+ var connectionState = event.hasVideo
109
+ ? types_1.ConnectionState.ConnectedPublishingVideo
110
+ : types_1.ConnectionState.ConnectedNoVideo;
111
+ if (!connectionId) {
112
+ throw new Error("streamPropertyChanged: Missing 'connectionId'");
113
+ }
114
+ _this.emitConnections(_this.store.update('connectionId', connectionId, { connectionState: connectionState }));
115
+ };
116
+ _this.find = function (findBy, equalTo) { return _this.store.find(findBy, equalTo); };
117
+ _this.get = function () { return _this.store.get(); };
118
+ return _this;
119
+ }
120
+ return ConnectionManager;
121
+ }(events_1.EventEmitter));
122
+ exports.ConnectionManager = ConnectionManager;
123
+ //# sourceMappingURL=ConnectionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectionManager.js","sourceRoot":"","sources":["../../../src/services/ConnectionManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { IBrowserUtilsService } from '@techsee/techsee-client-infra/lib/services/BrowserUtilsService';
2
+ import { MultiPartyCameraTypes } from '@techsee/techsee-nway-media-service/lib/MediaConstants';
3
+ import { AudioState, MultipartySessionSettings } from './types';
4
+ export type MediaState = {
5
+ cameraEnabled: boolean;
6
+ selectedCamera: MultiPartyCameraTypes;
7
+ audioState: AudioState;
8
+ };
9
+ export interface IMediaStateService {
10
+ getSessionState: (initialState: MultipartySessionSettings) => MediaState;
11
+ updateAudioMuted: (audioMuted: boolean) => void;
12
+ updateSelectedCamera: (selectedCamera: MultiPartyCameraTypes) => void;
13
+ updateCameraEnabledState: (cameraEnabled: boolean) => void;
14
+ }
15
+ export declare class MediaStateService {
16
+ private readonly storage;
17
+ constructor(storage: IBrowserUtilsService);
18
+ getSessionState: (initialState: MultipartySessionSettings) => MediaState;
19
+ updateAudioMuted: (audioMuted: boolean) => void;
20
+ updateSelectedCamera: (selectedCamera: MultiPartyCameraTypes) => void;
21
+ updateCameraEnabledState: (cameraEnabled: boolean) => void;
22
+ private derriveAudioState;
23
+ }
24
+ export declare function createMediaStateService(): MediaStateService;
25
+ //# sourceMappingURL=MediaStateService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaStateService.d.ts","sourceRoot":"","sources":["../../../src/services/MediaStateService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,oBAAoB,EACvB,MAAM,gEAAgE,CAAC;AACxE,OAAO,EAAC,qBAAqB,EAAC,MAAM,wDAAwD,CAAC;AAC7F,OAAO,EAAC,UAAU,EAAE,yBAAyB,EAAC,MAAM,SAAS,CAAC;AA8B9D,MAAM,MAAM,UAAU,GAAG;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,qBAAqB,CAAC;IACtC,UAAU,EAAE,UAAU,CAAC;CAC1B,CAAC;AAcF,MAAM,WAAW,kBAAkB;IAC/B,eAAe,EAAE,CAAC,YAAY,EAAE,yBAAyB,KAAK,UAAU,CAAC;IACzE,gBAAgB,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,oBAAoB,EAAE,CAAC,cAAc,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACtE,wBAAwB,EAAE,CAAC,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9D;AAED,qBAAa,iBAAiB;IACd,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,oBAAoB;IAEnD,eAAe,iBAAkB,yBAAyB,KAAG,UAAU,CAiB5E;IAEK,gBAAgB,eAAgB,OAAO,KAAG,IAAI,CAEnD;IAEK,oBAAoB,mBAAoB,qBAAqB,KAAG,IAAI,CAKzE;IAEK,wBAAwB,kBAAmB,OAAO,KAAG,IAAI,CAE9D;IAEF,OAAO,CAAC,iBAAiB,CAQvB;CACL;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMediaStateService = exports.MediaStateService = void 0;
4
+ var BrowserUtilsService_1 = require("@techsee/techsee-client-infra/lib/services/BrowserUtilsService");
5
+ var MediaConstants_1 = require("@techsee/techsee-nway-media-service/lib/MediaConstants");
6
+ var types_1 = require("./types");
7
+ var MediaStateServiceKeys;
8
+ (function (MediaStateServiceKeys) {
9
+ MediaStateServiceKeys["AUDIO_MUTED_KEY"] = "audioMuted";
10
+ MediaStateServiceKeys["CAMERA_ENABLED_KEY"] = "cameraEnabled";
11
+ MediaStateServiceKeys["SELECTED_CAMERA_KEY"] = "selectedCamera";
12
+ })(MediaStateServiceKeys || (MediaStateServiceKeys = {}));
13
+ function tryStrToBool(val) {
14
+ if (val === 'true') {
15
+ return true;
16
+ }
17
+ if (val === 'false') {
18
+ return false;
19
+ }
20
+ return undefined;
21
+ }
22
+ function tryStrToCameraTypes(mode) {
23
+ switch (mode) {
24
+ case 'front':
25
+ return MediaConstants_1.MultiPartyCameraTypes.FRONT;
26
+ case 'back':
27
+ return MediaConstants_1.MultiPartyCameraTypes.BACK;
28
+ default:
29
+ return undefined;
30
+ }
31
+ }
32
+ function cameraTypesToString(mode) {
33
+ switch (mode) {
34
+ case MediaConstants_1.MultiPartyCameraTypes.FRONT:
35
+ return 'front';
36
+ case MediaConstants_1.MultiPartyCameraTypes.BACK:
37
+ return 'back';
38
+ default:
39
+ // should never get here
40
+ throw new Error('Unsupported camera type');
41
+ }
42
+ }
43
+ var MediaStateService = /** @class */ (function () {
44
+ function MediaStateService(storage) {
45
+ var _this = this;
46
+ this.storage = storage;
47
+ this.getSessionState = function (initialState) {
48
+ if (initialState.keepSessionState === false) {
49
+ return initialState;
50
+ }
51
+ var storedCameraEnabled = tryStrToBool(_this.storage.getFromSessionStorage(MediaStateServiceKeys.CAMERA_ENABLED_KEY));
52
+ return {
53
+ cameraEnabled: storedCameraEnabled !== undefined ? storedCameraEnabled : initialState.cameraEnabled,
54
+ selectedCamera: tryStrToCameraTypes(_this.storage.getFromSessionStorage(MediaStateServiceKeys.SELECTED_CAMERA_KEY)) ||
55
+ initialState.selectedCamera,
56
+ audioState: _this.derriveAudioState(initialState.audioState !== types_1.AudioState.DISABLED) || initialState.audioState
57
+ };
58
+ };
59
+ this.updateAudioMuted = function (audioMuted) {
60
+ _this.storage.saveToSessionStorage(MediaStateServiceKeys.AUDIO_MUTED_KEY, audioMuted ? 'true' : 'false');
61
+ };
62
+ this.updateSelectedCamera = function (selectedCamera) {
63
+ _this.storage.saveToSessionStorage(MediaStateServiceKeys.SELECTED_CAMERA_KEY, cameraTypesToString(selectedCamera));
64
+ };
65
+ this.updateCameraEnabledState = function (cameraEnabled) {
66
+ _this.storage.saveToSessionStorage(MediaStateServiceKeys.CAMERA_ENABLED_KEY, cameraEnabled ? 'true' : 'false');
67
+ };
68
+ this.derriveAudioState = function (audioEnabled) {
69
+ if (audioEnabled === false) {
70
+ return types_1.AudioState.DISABLED;
71
+ }
72
+ return tryStrToBool(_this.storage.getFromSessionStorage(MediaStateServiceKeys.AUDIO_MUTED_KEY))
73
+ ? types_1.AudioState.MUTED
74
+ : types_1.AudioState.ENABLED;
75
+ };
76
+ }
77
+ return MediaStateService;
78
+ }());
79
+ exports.MediaStateService = MediaStateService;
80
+ function createMediaStateService() {
81
+ return new MediaStateService(new BrowserUtilsService_1.BrowserUtilsService(window));
82
+ }
83
+ exports.createMediaStateService = createMediaStateService;
84
+ //# sourceMappingURL=MediaStateService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaStateService.js","sourceRoot":"","sources":["../../../src/services/MediaStateService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { TypedEventEmitter } from '@techsee/techsee-common/lib/helpers/TypedEventEmitter';
2
+ import { SessionClientRole } from '@techsee/techsee-nway-media-service/lib/MediaConstants';
3
+ import { Credentials } from '@techsee/techsee-nway-media-service/lib/MultiParty';
4
+ import { ConnectionManager } from './ConnectionManager';
5
+ import { IMediaStateService } from './MediaStateService';
6
+ import { MultipartySessionSettings, OnPinnedUserChangedCb, PinnedUserType } from './types';
7
+ import { MultipartyEventTypesMap } from './MultipartyEventTypes';
8
+ import { OnEndMeetingRequestedCb } from '../components/Multiparty.types';
9
+ export declare enum MultipartyEventsInternal {
10
+ setPinnedUser = "setPinnedUser"
11
+ }
12
+ export interface IMultipartyController extends TypedEventEmitter<MultipartyEventTypesMap> {
13
+ connections: ConnectionManager;
14
+ userRole: SessionClientRole;
15
+ ownConnectionId: string | undefined;
16
+ isAudioDisabled: boolean;
17
+ isConnected: boolean;
18
+ pinnedUser: PinnedUserType;
19
+ connect: () => void;
20
+ disconnect: () => void;
21
+ setPinnedUser: OnPinnedUserChangedCb;
22
+ toggleAudio: (isMuted: boolean) => Promise<void>;
23
+ switchCamera: () => Promise<void>;
24
+ toggleVideo: (shouldToggleVideoOff: boolean) => Promise<void>;
25
+ takeSnapshot: () => string | null;
26
+ onEndSessionRequested?: OnEndMeetingRequestedCb;
27
+ }
28
+ export declare function createMultipartyController(credentials: Credentials, sessionSettings: MultipartySessionSettings, ownUserRole: SessionClientRole, mediaStateService?: IMediaStateService): Promise<IMultipartyController>;
29
+ //# sourceMappingURL=MultipartyController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipartyController.d.ts","sourceRoot":"","sources":["../../../src/services/MultipartyController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,uDAAuD,CAAC;AAExF,OAAO,EAAwB,iBAAiB,EAAC,MAAM,wDAAwD,CAAC;AAChH,OAAO,EAKH,WAAW,EAEd,MAAM,oDAAoD,CAAC;AAE5D,OAAO,EAAC,iBAAiB,EAA0B,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAC,kBAAkB,EAA0B,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAIH,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,EAEjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAmB,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAC,uBAAuB,EAAC,MAAM,gCAAgC,CAAC;AAIvE,oBAAY,wBAAwB;IAChC,aAAa,kBAAkB;CAClC;AAED,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB,CAAC,uBAAuB,CAAC;IACrF,WAAW,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,EAAE,qBAAqB,CAAC;IACrC,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,WAAW,EAAE,CAAC,oBAAoB,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,qBAAqB,CAAC,EAAE,uBAAuB,CAAC;CACnD;AAkOD,wBAAsB,0BAA0B,CAC5C,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,yBAAyB,EAC1C,WAAW,EAAE,iBAAiB,EAC9B,iBAAiB,GAAE,kBAA8C,GAClE,OAAO,CAAC,qBAAqB,CAAC,CAShC"}