@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 @@
1
+ {"version":3,"file":"MediaButtonsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,0BAA0B,CAAC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;AAE5F,UAAU,KAAK;IACX,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,oBAAY,cAAc;IACtB,KAAK,IAAA;IACL,MAAM,IAAA;CACT;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoD7C,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
+ exports.MediaButtonsPanel = exports.ButtonsSpacing = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ require("./MediaButtonsPanel.scss");
17
+ var MultipartyButton_1 = require("../MultipartyButton/MultipartyButton");
18
+ var ButtonsSpacing;
19
+ (function (ButtonsSpacing) {
20
+ ButtonsSpacing[ButtonsSpacing["Dense"] = 0] = "Dense";
21
+ ButtonsSpacing[ButtonsSpacing["Sparse"] = 1] = "Sparse";
22
+ })(ButtonsSpacing = exports.ButtonsSpacing || (exports.ButtonsSpacing = {}));
23
+ var MediaButtonsPanel = function (_a) {
24
+ var buttonsType = _a.buttonsType, isMuted = _a.isMuted, isVideoTurnedOff = _a.isVideoTurnedOff, _b = _a.isBackgroundVisible, isBackgroundVisible = _b === void 0 ? true : _b, _c = _a.isIconTransparencyEnabled, isIconTransparencyEnabled = _c === void 0 ? true : _c, _d = _a.buttonsSpacing, buttonsSpacing = _d === void 0 ? ButtonsSpacing.Sparse : _d, onToggleMute = _a.onToggleMute, onToggleVideo = _a.onToggleVideo, onSwitchCamera = _a.onSwitchCamera;
25
+ var platformClass = 'mobile';
26
+ if (buttonsType === MultipartyButton_1.MultipartyButtonType.Desktop) {
27
+ platformClass = 'desktop';
28
+ }
29
+ else if (buttonsType === MultipartyButton_1.MultipartyButtonType.DesktopObsolete) {
30
+ platformClass = 'desktop-obsolete';
31
+ }
32
+ platformClass += ' ' + (buttonsSpacing === ButtonsSpacing.Dense ? 'dense' : 'sparse');
33
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: "media-buttons-panel ".concat(platformClass) }, { children: [onToggleMute && ((0, jsx_runtime_1.jsx)(MultipartyButton_1.MultipartyButton, { type: buttonsType, onClick: onToggleMute, iconName: isMuted ? 'mic-off' : 'mic-on', isSwitchedOn: !isIconTransparencyEnabled || !isMuted, isBackgroundVisible: isBackgroundVisible })), onToggleVideo && ((0, jsx_runtime_1.jsx)(MultipartyButton_1.MultipartyButton, { type: buttonsType, onClick: onToggleVideo, iconName: isVideoTurnedOff ? 'camera-off' : 'camera-on', isSwitchedOn: !isIconTransparencyEnabled || !isVideoTurnedOff, isBackgroundVisible: isBackgroundVisible })), onSwitchCamera && ((0, jsx_runtime_1.jsx)(MultipartyButton_1.MultipartyButton, { type: buttonsType, onClick: onSwitchCamera, iconName: 'switch-camera', isBackgroundVisible: isBackgroundVisible, disabled: isVideoTurnedOff }))] })));
34
+ };
35
+ exports.MediaButtonsPanel = MediaButtonsPanel;
36
+ //# sourceMappingURL=MediaButtonsPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaButtonsPanel.js","sourceRoot":"","sources":["../../../../../src/components/ButtonPanels/MediaButtonsPanel/MediaButtonsPanel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oCAAkC;AAGlC,yEAA4F;AAc5F,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,qDAAK,CAAA;IACL,uDAAM,CAAA;AACV,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAEM,IAAM,iBAAiB,GAAoB,UAAC,EAUlD;QATG,WAAW,iBAAA,EACX,OAAO,aAAA,EACP,gBAAgB,sBAAA,EAChB,2BAA0B,EAA1B,mBAAmB,mBAAG,IAAI,KAAA,EAC1B,iCAAgC,EAAhC,yBAAyB,mBAAG,IAAI,KAAA,EAChC,sBAAsC,EAAtC,cAAc,mBAAG,cAAc,CAAC,MAAM,KAAA,EACtC,YAAY,kBAAA,EACZ,aAAa,mBAAA,EACb,cAAc,oBAAA;IAEd,IAAI,aAAa,GAAG,QAAQ,CAAC;IAE7B,IAAI,WAAW,KAAK,uCAAoB,CAAC,OAAO,EAAE;QAC9C,aAAa,GAAG,SAAS,CAAC;KAC7B;SAAM,IAAI,WAAW,KAAK,uCAAoB,CAAC,eAAe,EAAE;QAC7D,aAAa,GAAG,kBAAkB,CAAC;KACtC;IAED,aAAa,IAAI,GAAG,GAAG,CAAC,cAAc,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEtF,OAAO,CACH,0CAAK,SAAS,EAAE,8BAAuB,aAAa,CAAE,iBACjD,YAAY,IAAI,CACb,uBAAC,mCAAgB,IACb,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EACxC,YAAY,EAAE,CAAC,yBAAyB,IAAI,CAAC,OAAO,EACpD,mBAAmB,EAAE,mBAAmB,GAC1C,CACL,EACA,aAAa,IAAI,CACd,uBAAC,mCAAgB,IACb,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EACvD,YAAY,EAAE,CAAC,yBAAyB,IAAI,CAAC,gBAAgB,EAC7D,mBAAmB,EAAE,mBAAmB,GAC1C,CACL,EACA,cAAc,IAAI,CACf,uBAAC,mCAAgB,IACb,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAC,eAAe,EACxB,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAE,gBAAgB,GAC5B,CACL,KACC,CACT,CAAC;AACN,CAAC,CAAC;AApDW,QAAA,iBAAiB,qBAoD5B"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ export declare enum MultipartyButtonType {
3
+ Mobile = "mobile",
4
+ Desktop = "desktop",
5
+ DesktopObsolete = "desktop-obsolete",
6
+ MobileObsolete = "mobile-obsolete"
7
+ }
8
+ interface Props {
9
+ type: MultipartyButtonType;
10
+ iconName: string;
11
+ isSwitchedOn?: boolean;
12
+ disabled?: boolean;
13
+ isBackgroundVisible?: boolean;
14
+ onClick?: () => void;
15
+ }
16
+ export declare const MultipartyButton: React.FC<Props>;
17
+ export {};
18
+ //# sourceMappingURL=MultipartyButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipartyButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/ButtonPanels/MultipartyButton/MultipartyButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,oBAAY,oBAAoB;IAC5B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,eAAe,qBAAqB;IACpC,cAAc,oBAAoB;CACrC;AAeD,UAAU,KAAK;IACX,IAAI,EAAE,oBAAoB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0B5C,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultipartyButton = exports.MultipartyButtonType = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var border_rounded_icon_1 = require("@techsee/techsee-ui-common/lib/forms/buttons/border-rounded-icon");
6
+ var square_rounded_icon_1 = require("@techsee/techsee-ui-common/lib/forms/buttons/square-rounded-icon");
7
+ var large_rounded_icon_1 = require("@techsee/techsee-ui-common/lib/icons/large-rounded-icon");
8
+ var MultipartyButtonType;
9
+ (function (MultipartyButtonType) {
10
+ MultipartyButtonType["Mobile"] = "mobile";
11
+ MultipartyButtonType["Desktop"] = "desktop";
12
+ MultipartyButtonType["DesktopObsolete"] = "desktop-obsolete";
13
+ MultipartyButtonType["MobileObsolete"] = "mobile-obsolete";
14
+ })(MultipartyButtonType = exports.MultipartyButtonType || (exports.MultipartyButtonType = {}));
15
+ function buttonTypeToIconSize(buttonType) {
16
+ switch (buttonType) {
17
+ case MultipartyButtonType.DesktopObsolete:
18
+ return large_rounded_icon_1.IconSizes.LargeObsolete;
19
+ case MultipartyButtonType.Mobile:
20
+ return large_rounded_icon_1.IconSizes.MobileLarge;
21
+ case MultipartyButtonType.MobileObsolete:
22
+ return large_rounded_icon_1.IconSizes.MobileLargeObsolete;
23
+ default:
24
+ return large_rounded_icon_1.IconSizes.Large;
25
+ }
26
+ }
27
+ var MultipartyButton = function (_a) {
28
+ var type = _a.type, iconName = _a.iconName, _b = _a.isSwitchedOn, isSwitchedOn = _b === void 0 ? true : _b, _c = _a.isBackgroundVisible, isBackgroundVisible = _c === void 0 ? true : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, onClick = _a.onClick;
29
+ var IconButton = type === MultipartyButtonType.Mobile ? border_rounded_icon_1.BorderRoundedIconButton : square_rounded_icon_1.SquareRoundedIconButton;
30
+ var backgroundTransparency = isBackgroundVisible ? large_rounded_icon_1.BackgroundTransparencies.HALF : large_rounded_icon_1.BackgroundTransparencies.FULL;
31
+ var iconTransparency = isSwitchedOn || isBackgroundVisible ? large_rounded_icon_1.IconTransparencies.NONE : large_rounded_icon_1.IconTransparencies.HALF;
32
+ return ((0, jsx_runtime_1.jsx)(IconButton, { onClick: onClick, sizeName: buttonTypeToIconSize(type), colorName: large_rounded_icon_1.IconColors.Black, iconName: iconName, iconTransparency: iconTransparency, noBorder: true, reverseColor: true, disabled: disabled, backgroundTransparency: backgroundTransparency }));
33
+ };
34
+ exports.MultipartyButton = MultipartyButton;
35
+ //# sourceMappingURL=MultipartyButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultipartyButton.js","sourceRoot":"","sources":["../../../../../src/components/ButtonPanels/MultipartyButton/MultipartyButton.tsx"],"names":[],"mappings":";;;;AACA,wGAAyG;AACzG,wGAAyG;AACzG,8FAKiE;AAEjE,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC5B,yCAAiB,CAAA;IACjB,2CAAmB,CAAA;IACnB,4DAAoC,CAAA;IACpC,0DAAkC,CAAA;AACtC,CAAC,EALW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAK/B;AAED,SAAS,oBAAoB,CAAC,UAAgC;IAC1D,QAAQ,UAAU,EAAE;QAChB,KAAK,oBAAoB,CAAC,eAAe;YACrC,OAAO,8BAAS,CAAC,aAAa,CAAC;QACnC,KAAK,oBAAoB,CAAC,MAAM;YAC5B,OAAO,8BAAS,CAAC,WAAW,CAAC;QACjC,KAAK,oBAAoB,CAAC,cAAc;YACpC,OAAO,8BAAS,CAAC,mBAAmB,CAAC;QACzC;YACI,OAAO,8BAAS,CAAC,KAAK,CAAC;KAC9B;AACL,CAAC;AAWM,IAAM,gBAAgB,GAAoB,UAAC,EAOjD;QANG,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,oBAAmB,EAAnB,YAAY,mBAAG,IAAI,KAAA,EACnB,2BAA0B,EAA1B,mBAAmB,mBAAG,IAAI,KAAA,EAC1B,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,OAAO,aAAA;IAEP,IAAM,UAAU,GAAG,IAAI,KAAK,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,6CAAuB,CAAC,CAAC,CAAC,6CAAuB,CAAC;IAE5G,IAAM,sBAAsB,GAAG,mBAAmB,CAAC,CAAC,CAAC,6CAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,6CAAwB,CAAC,IAAI,CAAC;IACnH,IAAM,gBAAgB,GAAG,YAAY,IAAI,mBAAmB,CAAC,CAAC,CAAC,uCAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,uCAAkB,CAAC,IAAI,CAAC;IAEjH,OAAO,CACH,uBAAC,UAAU,IACP,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,EACpC,SAAS,EAAE,+BAAU,CAAC,KAAK,EAC3B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,QACR,YAAY,QACZ,QAAQ,EAAE,QAAQ,EAClB,sBAAsB,EAAE,sBAAsB,GAChD,CACL,CAAC;AACN,CAAC,CAAC;AA1BW,QAAA,gBAAgB,oBA0B3B"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ type PinCallback = (() => void) | false;
3
+ type Props = {
4
+ isPinned: boolean;
5
+ isVideoHover: boolean;
6
+ onTogglePin?: PinCallback;
7
+ };
8
+ export declare const PinButtonPanel: React.FC<Props>;
9
+ export {};
10
+ //# sourceMappingURL=PinButtonPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PinButtonPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/ButtonPanels/PinButtonPanel/PinButtonPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,KAAK,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC;AACxC,KAAK,KAAK,GAAG;IACT,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAY1C,CAAC"}
@@ -0,0 +1,22 @@
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.PinButtonPanel = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var MultipartyButton_1 = require("../MultipartyButton/MultipartyButton");
17
+ var PinButtonPanel = function (_a) {
18
+ var onTogglePin = _a.onTogglePin, isPinned = _a.isPinned, isVideoHover = _a.isVideoHover;
19
+ return ((0, jsx_runtime_1.jsx)("div", __assign({ className: 'pin-buttons-panel' }, { children: onTogglePin && ((0, jsx_runtime_1.jsx)(MultipartyButton_1.MultipartyButton, { type: MultipartyButton_1.MultipartyButtonType.Desktop, onClick: onTogglePin, iconName: 'pin', isSwitchedOn: isPinned, isBackgroundVisible: isVideoHover })) })));
20
+ };
21
+ exports.PinButtonPanel = PinButtonPanel;
22
+ //# sourceMappingURL=PinButtonPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PinButtonPanel.js","sourceRoot":"","sources":["../../../../../src/components/ButtonPanels/PinButtonPanel/PinButtonPanel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,yEAA4F;AASrF,IAAM,cAAc,GAAoB,UAAC,EAAqC;QAApC,WAAW,iBAAA,EAAE,QAAQ,cAAA,EAAE,YAAY,kBAAA;IAAmB,OAAA,CACnG,yCAAK,SAAS,EAAC,mBAAmB,gBAC7B,WAAW,IAAI,CACZ,uBAAC,mCAAgB,IACb,IAAI,EAAE,uCAAoB,CAAC,OAAO,EAClC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAC,KAAK,EACd,YAAY,EAAE,QAAQ,EACtB,mBAAmB,EAAE,YAAY,GACnC,CACL,IACC,CACT;AAZsG,CAYtG,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import './SnapshotButtonPanel.scss';
3
+ type SnapshotCallback = () => void;
4
+ type Props = {
5
+ onSnapshot?: SnapshotCallback;
6
+ };
7
+ export declare const SnapshotButtonPanel: React.FC<Props>;
8
+ export {};
9
+ //# sourceMappingURL=SnapshotButtonPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SnapshotButtonPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,4BAA4B,CAAC;AAEpC,KAAK,gBAAgB,GAAG,MAAM,IAAI,CAAC;AACnC,KAAK,KAAK,GAAG;IACT,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAE/C,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SnapshotButtonPanel = void 0;
7
+ var jsx_runtime_1 = require("react/jsx-runtime");
8
+ var camera_button_png_1 = __importDefault(require("../../../assets/img/camera-button.png"));
9
+ require("./SnapshotButtonPanel.scss");
10
+ var SnapshotButtonPanel = function (_a) {
11
+ var onSnapshot = _a.onSnapshot;
12
+ return ((0, jsx_runtime_1.jsx)("img", { src: camera_button_png_1.default, onClick: onSnapshot, className: 'snapshot-button-panel-img' }));
13
+ };
14
+ exports.SnapshotButtonPanel = SnapshotButtonPanel;
15
+ //# sourceMappingURL=SnapshotButtonPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SnapshotButtonPanel.js","sourceRoot":"","sources":["../../../../../src/components/ButtonPanels/SnapshotButtonPanel/SnapshotButtonPanel.tsx"],"names":[],"mappings":";;;;;;;AACA,4FAA8D;AAC9D,sCAAoC;AAO7B,IAAM,mBAAmB,GAAoB,UAAC,EAAY;QAAX,UAAU,gBAAA;IAAmB,OAAA,CAC/E,gCAAK,GAAG,EAAE,2BAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAC,2BAA2B,GAAG,CACrF;AAFkF,CAElF,CAAC;AAFW,QAAA,mBAAmB,uBAE9B"}
@@ -0,0 +1,6 @@
1
+ export { PinButtonPanel } from './PinButtonPanel/PinButtonPanel';
2
+ export { MediaButtonsPanel } from './MediaButtonsPanel/MediaButtonsPanel';
3
+ export { MultipartyButtonType } from './MultipartyButton/MultipartyButton';
4
+ export { SnapshotButtonPanel } from './SnapshotButtonPanel/SnapshotButtonPanel';
5
+ export { EndMeetingButtonPanel } from './EndMeetingButtonPanel/EndMeetingButtonPanel';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ButtonPanels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAC,oBAAoB,EAAC,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAC,mBAAmB,EAAC,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAC,qBAAqB,EAAC,MAAM,+CAA+C,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EndMeetingButtonPanel = exports.SnapshotButtonPanel = exports.MultipartyButtonType = exports.MediaButtonsPanel = exports.PinButtonPanel = void 0;
4
+ var PinButtonPanel_1 = require("./PinButtonPanel/PinButtonPanel");
5
+ Object.defineProperty(exports, "PinButtonPanel", { enumerable: true, get: function () { return PinButtonPanel_1.PinButtonPanel; } });
6
+ var MediaButtonsPanel_1 = require("./MediaButtonsPanel/MediaButtonsPanel");
7
+ Object.defineProperty(exports, "MediaButtonsPanel", { enumerable: true, get: function () { return MediaButtonsPanel_1.MediaButtonsPanel; } });
8
+ var MultipartyButton_1 = require("./MultipartyButton/MultipartyButton");
9
+ Object.defineProperty(exports, "MultipartyButtonType", { enumerable: true, get: function () { return MultipartyButton_1.MultipartyButtonType; } });
10
+ var SnapshotButtonPanel_1 = require("./SnapshotButtonPanel/SnapshotButtonPanel");
11
+ Object.defineProperty(exports, "SnapshotButtonPanel", { enumerable: true, get: function () { return SnapshotButtonPanel_1.SnapshotButtonPanel; } });
12
+ var EndMeetingButtonPanel_1 = require("./EndMeetingButtonPanel/EndMeetingButtonPanel");
13
+ Object.defineProperty(exports, "EndMeetingButtonPanel", { enumerable: true, get: function () { return EndMeetingButtonPanel_1.EndMeetingButtonPanel; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ButtonPanels/index.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAAvD,gHAAA,cAAc,OAAA;AACtB,2EAAwE;AAAhE,sHAAA,iBAAiB,OAAA;AACzB,wEAAyE;AAAjE,wHAAA,oBAAoB,OAAA;AAC5B,iFAA8E;AAAtE,0HAAA,mBAAmB,OAAA;AAC3B,uFAAoF;AAA5E,8HAAA,qBAAqB,OAAA"}
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import './LoaderSpinner.scss';
3
+ type LoaderSpinnerProps = {
4
+ caption: string;
5
+ };
6
+ export declare const LoaderSpinner: React.FC<LoaderSpinnerProps>;
7
+ export {};
8
+ //# sourceMappingURL=LoaderSpinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoaderSpinner.d.ts","sourceRoot":"","sources":["../../../../src/components/LoaderSpinner/LoaderSpinner.tsx"],"names":[],"mappings":";AAAA,OAAO,sBAAsB,CAAC;AAE9B,KAAK,kBAAkB,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAiEtD,CAAC"}
@@ -0,0 +1,22 @@
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.LoaderSpinner = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ require("./LoaderSpinner.scss");
17
+ var LoaderSpinner = function (_a) {
18
+ var caption = _a.caption;
19
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'loader-spinner-container' }, { children: [(0, jsx_runtime_1.jsxs)("svg", __assign({ className: 'spinner', width: '118', height: '118', viewBox: '0 0 118 118', fill: 'none', xmlns: 'http://www.w3.org/2000/svg' }, { children: [(0, jsx_runtime_1.jsx)("circle", { cx: '59', cy: '59', r: '59', fill: 'white', fillOpacity: '0.1' }), (0, jsx_runtime_1.jsxs)("g", __assign({ clipPath: 'url(#clip0)' }, { children: [(0, jsx_runtime_1.jsx)("path", { className: 'circle circle-1', d: 'M59.5 41C63.6421 41 67 37.6421 67 33.5C67 29.3579 63.6421 26 59.5 26C55.3579 26 52 29.3579 52 33.5C52 37.6421 55.3579 41 59.5 41Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { className: 'circle circle-2', d: 'M72.1901 45.5985C75.3572 48.256 80.0754 47.8472 82.7285 44.6854C85.3815 41.5236 84.9648 36.8061 81.7977 34.1486C78.6306 31.4911 73.9124 31.8999 71.2593 35.0617C68.6063 38.2235 69.023 42.941 72.1901 45.5985Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { className: 'circle circle-3', d: 'M79.0856 57.4596C79.7997 61.5093 83.6914 64.2081 87.7779 63.4875C91.8644 62.7669 94.5983 58.8999 93.8843 54.8502C93.1702 50.8005 89.2785 48.1017 85.192 48.8223C81.1055 49.5428 78.3716 53.4099 79.0856 57.4596Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { className: 'circle circle-4', d: 'M76.6956 70.9205C74.6351 74.4894 75.8718 79.0609 79.4579 81.1313C83.044 83.2017 87.6214 81.987 89.6819 78.4182C91.7424 74.8493 90.5056 70.2778 86.9196 68.2074C83.3335 66.137 78.756 67.3517 76.6956 70.9205Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { className: 'circle circle-5', d: 'M66.0989 79.7512C62.2028 81.1693 60.1855 85.454 61.5931 89.3214C63.0007 93.1889 67.3003 95.1745 71.1963 93.7564C75.0924 92.3384 77.1097 88.0536 75.7021 84.1862C74.2945 80.3188 69.9949 78.3331 66.0989 79.7512Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { className: 'circle circle-6', d: 'M52.2142 79.7512C48.3181 78.3331 44.0186 80.3188 42.611 84.1862C41.2034 88.0536 43.2207 92.3384 47.1167 93.7564C51.0128 95.1745 55.3123 93.1889 56.72 89.3214C58.1276 85.454 56.1103 81.1693 52.2142 79.7512Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { className: 'circle circle-7', d: 'M41.6175 70.9205C39.557 67.3517 34.9796 66.137 31.3935 68.2074C27.8074 70.2778 26.5707 74.8493 28.6312 78.4182C30.6916 81.987 35.2691 83.2017 38.8552 81.1313C42.4412 79.0609 43.678 74.4894 41.6175 70.9205Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { className: 'circle circle-8', d: 'M39.2274 57.4596C39.9415 53.4099 37.2076 49.5428 33.1211 48.8223C29.0345 48.1017 25.1429 50.8005 24.4288 54.8502C23.7147 58.8999 26.4487 62.7669 30.5352 63.4875C34.6217 64.2081 38.5134 61.5093 39.2274 57.4596Z', fill: 'white' }), (0, jsx_runtime_1.jsx)("path", { className: 'circle circle-9', d: 'M46.123 45.5985C49.2901 42.941 49.7068 38.2235 47.0537 35.0617C44.4007 31.8999 39.6825 31.4911 36.5154 34.1486C33.3483 36.8061 32.9316 41.5236 35.5846 44.6854C38.2377 47.8472 42.9559 48.256 46.123 45.5985Z', fill: 'white' })] })), (0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsx)("clipPath", __assign({ id: 'clip0' }, { children: (0, jsx_runtime_1.jsx)("rect", { width: '70', height: '69', fill: 'white', transform: 'translate(24 26)' }) })) })] })), (0, jsx_runtime_1.jsx)("div", __assign({ className: 'loader-spinner-caption' }, { children: caption }))] })));
20
+ };
21
+ exports.LoaderSpinner = LoaderSpinner;
22
+ //# sourceMappingURL=LoaderSpinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoaderSpinner.js","sourceRoot":"","sources":["../../../../src/components/LoaderSpinner/LoaderSpinner.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gCAA8B;AAMvB,IAAM,aAAa,GAAiC,UAAC,EAAS;QAAR,OAAO,aAAA;IAAM,OAAA,CACtE,0CAAK,SAAS,EAAC,0BAA0B,iBACrC,0CACI,SAAS,EAAC,SAAS,EACnB,KAAK,EAAC,KAAK,EACX,MAAM,EAAC,KAAK,EACZ,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,iBAClC,mCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,GAAG,EAChE,wCAAG,QAAQ,EAAC,aAAa,iBACrB,iCACI,SAAS,EAAC,iBAAiB,EAC3B,CAAC,EAAC,mIAAmI,EACrI,IAAI,EAAC,OAAO,GACd,EACF,iCACI,SAAS,EAAC,iBAAiB,EAC3B,CAAC,EAAC,gNAAgN,EAClN,IAAI,EAAC,OAAO,GACd,EACF,iCACI,SAAS,EAAC,iBAAiB,EAC3B,CAAC,EAAC,kNAAkN,EACpN,IAAI,EAAC,OAAO,GACd,EACF,iCACI,SAAS,EAAC,iBAAiB,EAC3B,CAAC,EAAC,+MAA+M,EACjN,IAAI,EAAC,OAAO,GACd,EACF,iCACI,SAAS,EAAC,iBAAiB,EAC3B,CAAC,EAAC,kNAAkN,EACpN,IAAI,EAAC,OAAO,GACd,EACF,iCACI,SAAS,EAAC,iBAAiB,EAC3B,CAAC,EAAC,+MAA+M,EACjN,IAAI,EAAC,OAAO,GACd,EACF,iCACI,SAAS,EAAC,iBAAiB,EAC3B,CAAC,EAAC,+MAA+M,EACjN,IAAI,EAAC,OAAO,GACd,EACF,iCACI,SAAS,EAAC,iBAAiB,EAC3B,CAAC,EAAC,mNAAmN,EACrN,IAAI,EAAC,OAAO,GACd,EACF,iCACI,SAAS,EAAC,iBAAiB,EAC3B,CAAC,EAAC,+MAA+M,EACjN,IAAI,EAAC,OAAO,GACd,KACF,EACJ,2CACI,8CAAU,EAAE,EAAC,OAAO,gBAChB,iCAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAC,kBAAkB,GAAG,IAClE,GACR,KACL,EACN,yCAAK,SAAS,EAAC,wBAAwB,gBAAE,OAAO,IAAO,KACrD,CACT;AAjEyE,CAiEzE,CAAC;AAjEW,QAAA,aAAa,iBAiExB"}
@@ -0,0 +1,36 @@
1
+ import { RefObject } from 'react';
2
+ import './MagicMarker.scss';
3
+ export interface IResolution {
4
+ width: number;
5
+ height: number;
6
+ }
7
+ export interface IDrawingOptions {
8
+ lineWidth: number;
9
+ strokeColorRGB: string;
10
+ lineWidthRefResolution: IResolution;
11
+ }
12
+ export interface IPoint {
13
+ x: number;
14
+ y: number;
15
+ }
16
+ export interface IContainerPoint extends IPoint {
17
+ container: IResolution;
18
+ }
19
+ export type MagicMarkerOptions = {
20
+ drawingOptions: IDrawingOptions;
21
+ drawingOptionsRemote: IDrawingOptions;
22
+ timeUntilDrawingStartFading: number;
23
+ timeUntilDrawingStartFadingRemote: number;
24
+ isMobile?: boolean;
25
+ canDraw?: boolean;
26
+ isMirrored?: boolean;
27
+ };
28
+ export type MagicMarkerComponentProps = {
29
+ options: MagicMarkerOptions;
30
+ onDrawingsUpdate: (drawings: IContainerPoint[]) => void;
31
+ remoteDrawings: IContainerPoint[];
32
+ onRemoteDrawingsDisplayEnd?: () => void;
33
+ floatingElements: RefObject<HTMLElement>[];
34
+ };
35
+ export declare const MagicMarkerComponent: React.FC<MagicMarkerComponentProps>;
36
+ //# sourceMappingURL=MagicMarkerComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MagicMarkerComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/MagicMarker/MagicMarkerComponent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAA8B,MAAM,OAAO,CAAC;AAG7D,OAAO,oBAAoB,CAAC;AAS5B,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,WAAW,CAAC;CACvC;AAED,MAAM,WAAW,MAAM;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACb;AACD,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC3C,SAAS,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,cAAc,EAAE,eAAe,CAAC;IAChC,oBAAoB,EAAE,eAAe,CAAC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IACpC,iCAAiC,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACpC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACxD,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,0BAA0B,CAAC,EAAE,MAAM,IAAI,CAAC;IACxC,gBAAgB,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAsJpE,CAAC"}
@@ -0,0 +1,112 @@
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.MagicMarkerComponent = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var react_1 = require("react");
17
+ var CanvasEvents_1 = require("@techsee/techsee-client-infra/lib/helpers/CanvasEvents");
18
+ var CanvasDrawerService_1 = require("@techsee/techsee-client-services/lib/services/CanvasDrawerService");
19
+ require("./MagicMarker.scss");
20
+ var MagicMarkerComponent = function (_a) {
21
+ var _b = _a.options, drawingOptions = _b.drawingOptions, drawingOptionsRemote = _b.drawingOptionsRemote, timeUntilDrawingStartFading = _b.timeUntilDrawingStartFading, timeUntilDrawingStartFadingRemote = _b.timeUntilDrawingStartFadingRemote, _c = _b.isMobile, isMobile = _c === void 0 ? false : _c, _d = _b.canDraw, canDraw = _d === void 0 ? true : _d, _e = _b.isMirrored, isMirrored = _e === void 0 ? false : _e, onDrawingsUpdate = _a.onDrawingsUpdate, remoteDrawings = _a.remoteDrawings, onRemoteDrawingsDisplayEnd = _a.onRemoteDrawingsDisplayEnd, floatingElements = _a.floatingElements;
22
+ var canvasRefLocal = (0, react_1.useRef)(null);
23
+ var canvasRefRemote = (0, react_1.useRef)(null);
24
+ var _f = (0, react_1.useState)(), canvasDrawerRemote = _f[0], setCanvasDrawerRemote = _f[1];
25
+ var _g = drawingOptions.lineWidthRefResolution, localWidth = _g.width, localHeight = _g.height;
26
+ var _h = drawingOptionsRemote.lineWidthRefResolution, remoteWidth = _h.width, remoteHeight = _h.height;
27
+ (0, react_1.useEffect)(function () {
28
+ if (canvasRefLocal.current === null || !canDraw) {
29
+ return function () { };
30
+ }
31
+ var drawerLocal = new CanvasDrawerService_1.CanvasDrawer(canvasRefLocal.current, drawingOptions, undefined, timeUntilDrawingStartFading);
32
+ var canvasEventsHelper = new CanvasEvents_1.CanvasEvents();
33
+ var floatingDomElements = floatingElements.filter(function (v) { return v.current; }).map(function (v) { return v.current; }); // casting to array of only HTML elements as null values has been filtered out
34
+ canvasEventsHelper.initListeners(canvasRefLocal.current, isMobile, floatingDomElements);
35
+ var getCursorPos = function (e) {
36
+ var _a, _b, _c, _d;
37
+ if (!canvasRefLocal.current) {
38
+ return { x: 0, y: 0 };
39
+ }
40
+ var canvasRectLocal = canvasRefLocal.current.getBoundingClientRect();
41
+ var _e = canvasRefLocal.current, sourceWidth = _e.width, sourceHeight = _e.height;
42
+ var canvasScale = Math.min(canvasRectLocal.width / sourceWidth, canvasRectLocal.height / sourceHeight);
43
+ var ev = e === null || e === void 0 ? void 0 : e.originalEvent;
44
+ var pageX = ((_a = e === null || e === void 0 ? void 0 : e.touches) === null || _a === void 0 ? void 0 : _a[0].pageX) || ((_b = ev === null || ev === void 0 ? void 0 : ev.changedTouches) === null || _b === void 0 ? void 0 : _b[0].pageX) || (e === null || e === void 0 ? void 0 : e.pageX) || 0;
45
+ var pageY = ((_c = e === null || e === void 0 ? void 0 : e.touches) === null || _c === void 0 ? void 0 : _c[0].pageY) || ((_d = ev === null || ev === void 0 ? void 0 : ev.changedTouches) === null || _d === void 0 ? void 0 : _d[0].pageY) || (e === null || e === void 0 ? void 0 : e.pageY) || 0;
46
+ return {
47
+ x: (pageX - canvasRectLocal.left) / canvasScale -
48
+ (canvasRectLocal.width / canvasScale - sourceWidth) / 2,
49
+ y: (pageY - canvasRectLocal.top) / canvasScale -
50
+ (canvasRectLocal.height / canvasScale - sourceHeight) / 2
51
+ };
52
+ };
53
+ var onStartDraw = function (e) {
54
+ var _a = getCursorPos(e.detail.data), x = _a.x, y = _a.y;
55
+ drawerLocal.startDrawing(x, y);
56
+ };
57
+ var onDraw = function (e) {
58
+ var _a = getCursorPos(e.detail.data), x = _a.x, y = _a.y;
59
+ drawerLocal.addToDrawing(x, y, { width: localWidth, height: localHeight });
60
+ };
61
+ var onEndDraw = function () {
62
+ if (!drawerLocal.isPainting) {
63
+ return;
64
+ }
65
+ var drawings = drawerLocal.getDrawings();
66
+ var drawingsWithMirroring = isMirrored
67
+ ? drawings.map(function (point) { return (__assign(__assign({}, point), { x: point.container.width - point.x })); })
68
+ : drawings;
69
+ drawerLocal.endDrawing();
70
+ onDrawingsUpdate(drawingsWithMirroring);
71
+ };
72
+ var canvasRefLocalCurrent = canvasRefLocal.current;
73
+ canvasRefLocalCurrent.addEventListener('drawingCanvasStartDraw', onStartDraw);
74
+ canvasRefLocalCurrent.addEventListener('drawingCanvasDraw', onDraw);
75
+ canvasRefLocalCurrent.addEventListener('drawingCanvasEndDraw', onEndDraw);
76
+ return function () {
77
+ drawerLocal.destroy();
78
+ canvasRefLocalCurrent.removeEventListener('drawingCanvasStartDraw', onStartDraw);
79
+ canvasRefLocalCurrent.removeEventListener('drawingCanvasDraw', onDraw);
80
+ canvasRefLocalCurrent.removeEventListener('drawingCanvasEndDraw', onEndDraw);
81
+ };
82
+ }, [
83
+ canvasRefLocal,
84
+ drawingOptions,
85
+ timeUntilDrawingStartFading,
86
+ isMobile,
87
+ canDraw,
88
+ onDrawingsUpdate,
89
+ isMirrored,
90
+ floatingElements,
91
+ localWidth,
92
+ localHeight
93
+ ]);
94
+ (0, react_1.useEffect)(function () {
95
+ if (canvasRefRemote.current === null) {
96
+ return;
97
+ }
98
+ setCanvasDrawerRemote(new CanvasDrawerService_1.CanvasDrawer(canvasRefRemote.current, drawingOptionsRemote, undefined, timeUntilDrawingStartFadingRemote, onRemoteDrawingsDisplayEnd));
99
+ }, [canvasRefRemote, drawingOptionsRemote, timeUntilDrawingStartFadingRemote, onRemoteDrawingsDisplayEnd]);
100
+ (0, react_1.useEffect)(function () {
101
+ if (!canvasDrawerRemote) {
102
+ return;
103
+ }
104
+ var drawingsWithMirroring = isMirrored
105
+ ? remoteDrawings.map(function (point) { return (__assign(__assign({}, point), { x: point.container.width - point.x })); })
106
+ : remoteDrawings;
107
+ canvasDrawerRemote.drawPoints(drawingsWithMirroring, drawingOptionsRemote.lineWidthRefResolution);
108
+ }, [remoteDrawings, canvasDrawerRemote, drawingOptionsRemote.lineWidthRefResolution, isMirrored]);
109
+ return ((0, jsx_runtime_1.jsxs)("div", __assign({ className: 'magic-marker' }, { children: [(0, jsx_runtime_1.jsx)("canvas", { width: remoteWidth, height: remoteHeight, ref: canvasRefRemote }), (0, jsx_runtime_1.jsx)("canvas", { width: localWidth, height: localHeight, ref: canvasRefLocal })] })));
110
+ };
111
+ exports.MagicMarkerComponent = MagicMarkerComponent;
112
+ //# sourceMappingURL=MagicMarkerComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MagicMarkerComponent.js","sourceRoot":"","sources":["../../../../src/components/MagicMarker/MagicMarkerComponent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { MagicMarkerComponent, MagicMarkerOptions, MagicMarkerComponentProps } from './MagicMarkerComponent';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/MagicMarker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAE,kBAAkB,EAAE,yBAAyB,EAAC,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MagicMarkerComponent = void 0;
4
+ var MagicMarkerComponent_1 = require("./MagicMarkerComponent");
5
+ Object.defineProperty(exports, "MagicMarkerComponent", { enumerable: true, get: function () { return MagicMarkerComponent_1.MagicMarkerComponent; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/MagicMarker/index.ts"],"names":[],"mappings":";;;AAAA,+DAA2G;AAAnG,4HAAA,oBAAoB,OAAA"}
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ import './MediaRejectedModal.scss';
3
+ import { OSType } from '../../utils/detectOsType';
4
+ export type MediaRejectedModalStrings = Partial<{
5
+ mediaRejectedTextAndroid1: string;
6
+ mediaRejectedTextAndroid2: string;
7
+ mediaRejectedTextAndroid3: string;
8
+ mediaRejectedTextAndroid4: string;
9
+ mediaRejectedTextAndroid5: string;
10
+ mediaRejectedTextChrome1: string;
11
+ mediaRejectedTextChrome2: string;
12
+ mediaRejectedTextChrome3: string;
13
+ mediaRejectedTextIos1: string;
14
+ mediaRejectedTextIos2: string;
15
+ mediaRejectedTextIos3: string;
16
+ mediaRejectedModalTitle: string;
17
+ }>;
18
+ export interface MediaRejectedModalProps {
19
+ osType: OSType;
20
+ translations: MediaRejectedModalStrings;
21
+ onClose: () => void;
22
+ }
23
+ export declare const MediaRejectedModal: React.FC<MediaRejectedModalProps>;
24
+ //# sourceMappingURL=MediaRejectedModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaRejectedModal.d.ts","sourceRoot":"","sources":["../../../../src/components/MediaRejectedModal/MediaRejectedModal.tsx"],"names":[],"mappings":";AAAA,OAAO,2BAA2B,CAAC;AAUnC,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC;IAC5C,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,yBAAyB,EAAE,MAAM,CAAC;IAClC,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,yBAAyB,CAAC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA2DhE,CAAC"}
@@ -0,0 +1,45 @@
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.MediaRejectedModal = void 0;
18
+ var jsx_runtime_1 = require("react/jsx-runtime");
19
+ require("./MediaRejectedModal.scss");
20
+ var react_1 = require("react");
21
+ var chrome1_png_1 = __importDefault(require("../../assets/img/media-rejected/chrome1.png"));
22
+ var chrome2_png_1 = __importDefault(require("../../assets/img/media-rejected/chrome2.png"));
23
+ var chrome3_png_1 = __importDefault(require("../../assets/img/media-rejected/chrome3.png"));
24
+ var chrome4_png_1 = __importDefault(require("../../assets/img/media-rejected/chrome4.png"));
25
+ var close_button_png_1 = __importDefault(require("../../assets/img/media-rejected/close_button.png"));
26
+ var ios1_png_1 = __importDefault(require("../../assets/img/media-rejected/ios1.png"));
27
+ var ios2_png_1 = __importDefault(require("../../assets/img/media-rejected/ios2.png"));
28
+ var detectOsType_1 = require("../../utils/detectOsType");
29
+ var MediaRejectedModal = function (_a) {
30
+ var osType = _a.osType, onClose = _a.onClose, translations = _a.translations;
31
+ var ModalContent = (0, react_1.useCallback)(function () {
32
+ switch (osType) {
33
+ case detectOsType_1.OSType.IOS:
34
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextIos1 }), (0, jsx_runtime_1.jsx)("img", { className: 'media-rejected-image', src: ios1_png_1.default }), (0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextIos2 }), (0, jsx_runtime_1.jsx)("img", { className: 'media-rejected-image', src: ios2_png_1.default }), (0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextIos3 })] }));
35
+ case detectOsType_1.OSType.ANDROID:
36
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextAndroid1 }), (0, jsx_runtime_1.jsx)("img", { className: 'media-rejected-image', src: chrome1_png_1.default }), (0, jsx_runtime_1.jsx)("img", { className: 'media-rejected-image', src: chrome2_png_1.default }), (0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextAndroid2 }), (0, jsx_runtime_1.jsx)("img", { className: 'media-rejected-image', src: chrome3_png_1.default }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextAndroid3 }), (0, jsx_runtime_1.jsx)("br", {}), (0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextAndroid4 })] }), (0, jsx_runtime_1.jsx)("img", { className: 'media-rejected-image', src: chrome4_png_1.default }), (0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextAndroid5 })] }));
37
+ case detectOsType_1.OSType.OTHER:
38
+ default:
39
+ return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextChrome1 }), (0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextChrome2 }), (0, jsx_runtime_1.jsx)("span", { children: translations.mediaRejectedTextChrome3 })] }));
40
+ }
41
+ }, [translations, osType]);
42
+ return ((0, jsx_runtime_1.jsx)("div", __assign({ className: 'media-rejected-modal-container' }, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ className: 'media-rejected-modal' }, { children: [(0, jsx_runtime_1.jsx)("img", { className: 'media-rejected-close-icon', src: close_button_png_1.default, onClick: onClose }), (0, jsx_runtime_1.jsxs)("div", __assign({ className: 'media-rejected-content-container' }, { children: [(0, jsx_runtime_1.jsx)("span", __assign({ className: 'media-rejected-title' }, { children: translations.mediaRejectedModalTitle || 'Allow permissions' })), (0, jsx_runtime_1.jsx)(ModalContent, {})] }))] })) })));
43
+ };
44
+ exports.MediaRejectedModal = MediaRejectedModal;
45
+ //# sourceMappingURL=MediaRejectedModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaRejectedModal.js","sourceRoot":"","sources":["../../../../src/components/MediaRejectedModal/MediaRejectedModal.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qCAAmC;AAEnC,+BAAkC;AAClC,4FAAsE;AACtE,4FAAsE;AACtE,4FAAsE;AACtE,4FAAsE;AACtE,sGAA8E;AAC9E,sFAA+D;AAC/D,sFAA+D;AAC/D,yDAAgD;AAuBzC,IAAM,kBAAkB,GAAsC,UAAC,EAI5C;QAHtB,MAAM,YAAA,EACN,OAAO,aAAA,EACP,YAAY,kBAAA;IAEZ,IAAM,YAAY,GAAG,IAAA,mBAAW,EAAC;QAC7B,QAAQ,MAAM,EAAE;YACZ,KAAK,qBAAM,CAAC,GAAG;gBACX,OAAO,CACH,6DACI,2CAAO,YAAY,CAAC,qBAAqB,GAAQ,EACjD,gCAAK,SAAS,EAAC,sBAAsB,EAAC,GAAG,EAAE,kBAAO,GAAI,EACtD,2CAAO,YAAY,CAAC,qBAAqB,GAAQ,EACjD,gCAAK,SAAS,EAAC,sBAAsB,EAAC,GAAG,EAAE,kBAAO,GAAI,EACtD,2CAAO,YAAY,CAAC,qBAAqB,GAAQ,IAClD,CACN,CAAC;YACN,KAAK,qBAAM,CAAC,OAAO;gBACf,OAAO,CACH,6DACI,2CAAO,YAAY,CAAC,yBAAyB,GAAQ,EACrD,gCAAK,SAAS,EAAC,sBAAsB,EAAC,GAAG,EAAE,qBAAW,GAAI,EAC1D,gCAAK,SAAS,EAAC,sBAAsB,EAAC,GAAG,EAAE,qBAAW,GAAI,EAC1D,2CAAO,YAAY,CAAC,yBAAyB,GAAQ,EACrD,gCAAK,SAAS,EAAC,sBAAsB,EAAC,GAAG,EAAE,qBAAW,GAAI,EAC1D,4CACI,2CAAO,YAAY,CAAC,yBAAyB,GAAQ,EACrD,gCAAM,EACN,2CAAO,YAAY,CAAC,yBAAyB,GAAQ,IACnD,EACN,gCAAK,SAAS,EAAC,sBAAsB,EAAC,GAAG,EAAE,qBAAW,GAAI,EAC1D,2CAAO,YAAY,CAAC,yBAAyB,GAAQ,IACtD,CACN,CAAC;YACN,KAAK,qBAAM,CAAC,KAAK,CAAC;YAClB;gBACI,OAAO,CACH,4CACI,2CAAO,YAAY,CAAC,wBAAwB,GAAQ,EACpD,2CAAO,YAAY,CAAC,wBAAwB,GAAQ,EACpD,2CAAO,YAAY,CAAC,wBAAwB,GAAQ,IAClD,CACT,CAAC;SACT;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAE3B,OAAO,CACH,yCAAK,SAAS,EAAC,gCAAgC,gBAC3C,0CAAK,SAAS,EAAC,sBAAsB,iBACjC,gCAAK,SAAS,EAAC,2BAA2B,EAAC,GAAG,EAAE,0BAAc,EAAE,OAAO,EAAE,OAAO,GAAI,EACpF,0CAAK,SAAS,EAAC,kCAAkC,iBAC7C,0CAAM,SAAS,EAAC,sBAAsB,gBACjC,YAAY,CAAC,uBAAuB,IAAI,mBAAmB,IACzD,EACP,uBAAC,YAAY,KAAG,KACd,KACJ,IACJ,CACT,CAAC;AACN,CAAC,CAAC;AA3DW,QAAA,kBAAkB,sBA2D7B"}
@@ -0,0 +1,23 @@
1
+ import { RefObject } from 'react';
2
+ import { VideoLayoutType } from '@techsee/techsee-nway-media-service/lib/MultiParty';
3
+ import { IMultipartyController } from '../services/MultipartyController';
4
+ import { OnPinnedUserChangedCb } from '../services/types';
5
+ import { MultipartyTranslationStrings, OnEndMeetingRequestedCb, OnPermissionsModalVisibilityChangedCb, OnSnapshotRequestedCb } from './Multiparty.types';
6
+ import '@techsee/techsee-ui-common/lib/_shared/icons.css';
7
+ import './Multiparty.scss';
8
+ type MultipartyProps = {
9
+ controller: IMultipartyController;
10
+ translations: MultipartyTranslationStrings;
11
+ selectedLayoutType: VideoLayoutType;
12
+ isPeerMediaPermissionRejected?: boolean;
13
+ onPermissionsModalVisibilityChanged?: OnPermissionsModalVisibilityChangedCb;
14
+ onPinnedUserChanged?: OnPinnedUserChangedCb;
15
+ onSnapshotRequested?: OnSnapshotRequestedCb;
16
+ onEndMeetingRequested?: OnEndMeetingRequestedCb;
17
+ videoOverlay?: (props: {
18
+ floatingElements: RefObject<HTMLElement>[];
19
+ }) => JSX.Element;
20
+ };
21
+ export declare const Multiparty: React.FC<MultipartyProps>;
22
+ export {};
23
+ //# sourceMappingURL=Multiparty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Multiparty.d.ts","sourceRoot":"","sources":["../../../src/components/Multiparty.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAmC,MAAM,OAAO,CAAC;AAElE,OAAO,EAA2B,eAAe,EAAC,MAAM,oDAAoD,CAAC;AAC7G,OAAO,EAAC,qBAAqB,EAA2B,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAoB,qBAAqB,EAAsC,MAAM,mBAAmB,CAAC;AAIhH,OAAO,EACH,4BAA4B,EAC5B,uBAAuB,EACvB,qCAAqC,EACrC,qBAAqB,EAExB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,kDAAkD,CAAC;AAC1D,OAAO,mBAAmB,CAAC;AAE3B,KAAK,eAAe,GAAG;IACnB,UAAU,EAAE,qBAAqB,CAAC;IAClC,YAAY,EAAE,4BAA4B,CAAC;IAC3C,kBAAkB,EAAE,eAAe,CAAC;IACpC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,mCAAmC,CAAC,EAAE,qCAAqC,CAAC;IAC5E,mBAAmB,CAAC,EAAE,qBAAqB,CAAC;IAC5C,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;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgLhD,CAAC"}