@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
package/README.md ADDED
@@ -0,0 +1 @@
1
+ techsee-client-services
Binary file
Binary file
@@ -0,0 +1,45 @@
1
+ .avatar-container {
2
+ position: absolute;
3
+ z-index: 2;
4
+ background: #3a3a3a;
5
+ width: 100%;
6
+ height: 100%;
7
+ border-radius: inherit;
8
+
9
+ display: flex;
10
+ flex-direction: column;
11
+ align-items: center;
12
+ justify-content: center;
13
+
14
+ .avatar-box {
15
+ position: relative;
16
+ width: 100%;
17
+ text-align: center;
18
+
19
+ .avatar-toast {
20
+ background-color: rgba(255, 255, 255, 0.2);
21
+ padding: 10px;
22
+ z-index: 3;
23
+
24
+ position: absolute;
25
+ bottom: -15px;
26
+ left: 50%;
27
+
28
+ transform: translate(-50%, 100%);
29
+
30
+ border-radius: 4px;
31
+
32
+ .avatar-toast-text {
33
+ color: #ffffff;
34
+ font-style: normal;
35
+ font-weight: 700;
36
+ font-size: 16px;
37
+ line-height: 22px;
38
+ }
39
+
40
+ &:hover {
41
+ cursor: pointer;
42
+ }
43
+ }
44
+ }
45
+ }
@@ -0,0 +1,31 @@
1
+ .media-buttons-panel {
2
+ display: flex;
3
+
4
+ &.mobile > * {
5
+ margin: 15px 15px 15px 0;
6
+ }
7
+
8
+ &.desktop.sparse > * {
9
+ margin: 10px 10px 10px 0;
10
+
11
+ &:last-child {
12
+ margin-right: 0;
13
+ }
14
+ }
15
+
16
+ &.desktop.dense > * {
17
+ margin: 10px 3px 10px 0;
18
+
19
+ &:last-child {
20
+ margin-right: 0;
21
+ }
22
+ }
23
+
24
+ &.button-desktop-obsolete > * {
25
+ margin: 10px 5px 10px 0;
26
+ }
27
+
28
+ & > *:last-child {
29
+ margin-right: 0;
30
+ }
31
+ }
@@ -0,0 +1,6 @@
1
+ .snapshot-button-panel-img {
2
+ width: 43px;
3
+ height: 43px;
4
+
5
+ cursor: pointer;
6
+ }
@@ -0,0 +1,69 @@
1
+ .loader-spinner-container {
2
+ position: absolute;
3
+ z-index: 2;
4
+ background: #3a3a3a;
5
+ width: 100%;
6
+ height: 100%;
7
+ border-radius: inherit;
8
+
9
+ display: flex;
10
+ flex-direction: column;
11
+ align-items: center;
12
+ justify-content: center;
13
+
14
+ .loader-spinner-caption {
15
+ font-family: 'Open Sans';
16
+ font-size: 14px;
17
+ color: white;
18
+
19
+ text-align: center;
20
+ padding-top: 20px;
21
+ margin: 0px 15px;
22
+ }
23
+
24
+ .circle {
25
+ animation: loading-spinner 1.8s infinite;
26
+ }
27
+
28
+ .circle-2 {
29
+ animation-delay: 0.2s;
30
+ }
31
+
32
+ .circle-3 {
33
+ animation-delay: 0.4s;
34
+ }
35
+
36
+ .circle-4 {
37
+ animation-delay: 0.6s;
38
+ }
39
+
40
+ .circle-5 {
41
+ animation-delay: 0.8s;
42
+ }
43
+
44
+ .circle-6 {
45
+ animation-delay: 1s;
46
+ }
47
+
48
+ .circle-7 {
49
+ animation-delay: 1.2s;
50
+ }
51
+
52
+ .circle-8 {
53
+ animation-delay: 1.4s;
54
+ }
55
+
56
+ .circle-9 {
57
+ animation-delay: 1.6s;
58
+ }
59
+
60
+ @keyframes loading-spinner {
61
+ 0%,
62
+ 100% {
63
+ opacity: 100%;
64
+ }
65
+ 50% {
66
+ opacity: 0%;
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,18 @@
1
+ .magic-marker {
2
+ position: relative;
3
+ width: 100%;
4
+ height: 100%;
5
+
6
+ > canvas {
7
+ position: absolute;
8
+ top: 0;
9
+ left: 0;
10
+
11
+ width: 100%;
12
+ height: 100%;
13
+ object-fit: contain;
14
+
15
+ touch-action: none;
16
+ overscroll-behavior: contain;
17
+ }
18
+ }
@@ -0,0 +1,75 @@
1
+ .media-rejected-modal-container {
2
+ &,
3
+ & * {
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ position: absolute;
8
+ top: 0;
9
+ left: 0;
10
+ width: 100%;
11
+ height: 100%;
12
+
13
+ background: rgba(0, 0, 0, 0.5);
14
+
15
+ padding: 30px 38px;
16
+ z-index: 1100;
17
+
18
+ .media-rejected-modal {
19
+ position: relative;
20
+ max-height: 100%;
21
+ padding: 45px 15px 30px 15px;
22
+
23
+ background: #ffffff;
24
+ box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
25
+ border-radius: 10px;
26
+
27
+ display: flex;
28
+ flex-direction: column;
29
+
30
+ .media-rejected-close-icon {
31
+ position: absolute;
32
+ top: 15px;
33
+ right: 15px;
34
+
35
+ width: 22px;
36
+ height: 22px;
37
+ padding: auto;
38
+ }
39
+
40
+ .media-rejected-content-container {
41
+ overflow-y: auto;
42
+ display: flex;
43
+ flex-direction: column;
44
+ gap: 10px;
45
+
46
+ font-family: 'Open Sans', sans-serif;
47
+ font-style: normal;
48
+ font-weight: 600;
49
+ font-size: 14px;
50
+ line-height: 19px;
51
+ color: #333333;
52
+
53
+ & * {
54
+ display: block;
55
+ }
56
+
57
+ .media-rejected-title {
58
+ font-family: 'Open Sans', sans-serif;
59
+ font-weight: 600;
60
+ font-style: normal;
61
+ font-size: 18px;
62
+ line-height: 25px;
63
+ }
64
+
65
+ .media-rejected-image {
66
+ width: 80%;
67
+ max-width: 280px;
68
+ }
69
+
70
+ .media-rejected-ordered-list {
71
+ list-style-position: outside;
72
+ }
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,8 @@
1
+ * {
2
+ box-sizing: border-box;
3
+ }
4
+
5
+ .mutltiparty-container {
6
+ height: 100%;
7
+ width: 100%;
8
+ }
@@ -0,0 +1,10 @@
1
+ .participant {
2
+ display: flex;
3
+ width: 100%;
4
+ height: 100%;
5
+ align-items: center;
6
+ justify-content: center;
7
+ background: #3a3a3a;
8
+ position: relative;
9
+ border-radius: inherit;
10
+ }
@@ -0,0 +1,49 @@
1
+ .agent-pinned-layout {
2
+ height: 100%;
3
+ width: 100%;
4
+ display: flex;
5
+ flex-direction: column-reverse;
6
+ position: relative;
7
+
8
+ .agent-area,
9
+ .peer-area {
10
+ width: 100%;
11
+ height: 100%;
12
+ }
13
+
14
+ .media-buttons-panel-left {
15
+ left: 7.5px;
16
+ bottom: 0;
17
+
18
+ position: absolute;
19
+ z-index: 10;
20
+ }
21
+
22
+ .media-buttons-panel-right {
23
+ right: 7.5px;
24
+ top: 0;
25
+
26
+ position: absolute;
27
+ z-index: 10;
28
+ }
29
+
30
+ .end-meeting-button-panel {
31
+ position: absolute;
32
+ top: 15px;
33
+ left: 20px;
34
+ z-index: 10;
35
+ }
36
+
37
+ .OT_widget-container {
38
+ background: inherit;
39
+ }
40
+
41
+ @media screen and (min-aspect-ratio: 1/1) {
42
+ flex-direction: row;
43
+
44
+ .spinner {
45
+ width: 80px;
46
+ height: 80px;
47
+ }
48
+ }
49
+ }
@@ -0,0 +1,128 @@
1
+ .big-main-video-layout {
2
+ height: 100%;
3
+ width: 100%;
4
+
5
+ padding: 10px;
6
+
7
+ display: grid;
8
+ grid-template-columns: 102px 75vh;
9
+ grid-template-rows: 158px 1fr;
10
+ grid-template-areas: 'small-area big-area' 'empty big-area';
11
+ grid-column-gap: 10px;
12
+ justify-content: center;
13
+
14
+ @media screen and (max-width: 900px) and (max-height: 600px) and (min-device-aspect-ratio: 1/1) {
15
+ grid-template-columns: 77px 75vh;
16
+ grid-template-rows: 119px 1fr;
17
+ }
18
+
19
+ // Portrait view:
20
+ @media screen and (max-aspect-ratio: 1/1) {
21
+ grid-template-columns: 102px 1fr;
22
+ grid-template-rows: 1fr 158px;
23
+ grid-template-areas: 'big-area big-area' 'small-area empty';
24
+ grid-row-gap: 10px;
25
+ }
26
+
27
+ @media screen and (max-width: 900px) and (max-height: 600px) and (max-aspect-ratio: 1/1) {
28
+ grid-template-columns: 77px 1fr;
29
+ grid-template-rows: 1fr 119px;
30
+ }
31
+
32
+ .small-area,
33
+ .big-area {
34
+ position: relative;
35
+ border-radius: 4px;
36
+
37
+ /**
38
+ * @FIXME:
39
+ * - move 'object-fit' to media-service (as fit param for OT)
40
+ * - remove participant class as it does not belong to this Layout
41
+ */
42
+ .participant video {
43
+ width: 100%;
44
+ height: 100%;
45
+
46
+ object-fit: contain;
47
+ }
48
+
49
+ .pin-button-panel {
50
+ right: 10px;
51
+ top: 10px;
52
+
53
+ position: absolute;
54
+ z-index: 10;
55
+ }
56
+
57
+ .media-buttons-panel-agent {
58
+ right: 10px;
59
+ bottom: 0;
60
+
61
+ position: absolute;
62
+ z-index: 10;
63
+ }
64
+ }
65
+
66
+ .big-area {
67
+ grid-area: big-area;
68
+
69
+ .loader-spinner-container svg.spinner,
70
+ .avatar-container .avatar-img {
71
+ width: 80px;
72
+ height: 80px;
73
+ }
74
+
75
+ .snapshot-button-panel {
76
+ position: absolute;
77
+ bottom: 10px;
78
+ left: 50%;
79
+
80
+ transform: translateX(-50%);
81
+ z-index: 10;
82
+ }
83
+
84
+ .video-overlay {
85
+ position: absolute;
86
+ top: 0;
87
+ left: 0;
88
+
89
+ width: 100%;
90
+ height: 100%;
91
+
92
+ z-index: 9;
93
+ }
94
+ }
95
+
96
+ .small-area {
97
+ grid-area: small-area;
98
+
99
+ .loader-spinner-container svg.spinner,
100
+ .avatar-container .avatar-img {
101
+ width: 50px;
102
+ height: 50px;
103
+ }
104
+
105
+ .loader-spinner-container .loader-spinner-caption {
106
+ display: none;
107
+ }
108
+ }
109
+
110
+ .OT_widget-container {
111
+ background: inherit;
112
+ border-radius: 4px;
113
+ }
114
+
115
+ .media-buttons-panel-user {
116
+ right: 20px;
117
+ top: 0;
118
+
119
+ position: absolute;
120
+ z-index: 10;
121
+ }
122
+ .end-meeting-button-panel {
123
+ position: absolute;
124
+ top: 15px;
125
+ left: 20px;
126
+ z-index: 10;
127
+ }
128
+ }
@@ -0,0 +1,34 @@
1
+ @import 'Tooltip';
2
+
3
+ .camera-off-container-big {
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ text-align: center;
8
+ flex-direction: column;
9
+ color: white;
10
+ margin-inline: 5px;
11
+
12
+ .permission-denied-title {
13
+ font-weight: 400;
14
+ font-size: 18px;
15
+ line-height: 25px;
16
+ margin-top: 20px;
17
+ }
18
+
19
+ .permission-denied-description {
20
+ font-weight: 700;
21
+ font-size: 14px;
22
+ line-height: 16px;
23
+
24
+ &.user {
25
+ margin-top: 20px;
26
+ font-weight: 400;
27
+ }
28
+ }
29
+
30
+ .open-modal-button {
31
+ color: #49daea;
32
+ cursor: pointer;
33
+ }
34
+ }
@@ -0,0 +1,15 @@
1
+ @import 'Tooltip';
2
+
3
+ .camera-off-container-small {
4
+ position: relative;
5
+ }
6
+
7
+ .exclamation-mark {
8
+ z-index: 1;
9
+ pointer-events: none;
10
+ position: absolute;
11
+ width: 14px;
12
+ height: 14px;
13
+ top: 7px;
14
+ left: 7px;
15
+ }
@@ -0,0 +1,65 @@
1
+ .disable-pointer {
2
+ pointer-events: none;
3
+ }
4
+
5
+ .permission-denied-tooltip {
6
+ position: relative;
7
+ display: inline-block;
8
+ }
9
+
10
+ .permission-denied-tooltip .permission-denied-tooltip-text {
11
+ visibility: hidden;
12
+ width: 250px;
13
+ background-color: black;
14
+ color: #ffffff;
15
+ text-align: center;
16
+ border-radius: 6px;
17
+ padding: 8px 8px;
18
+ position: absolute;
19
+ z-index: 999;
20
+ top: 238%;
21
+ left: 50%;
22
+ transform: translateX(-50%);
23
+ font-weight: 600;
24
+ font-size: 12px;
25
+
26
+ @media (max-width: 1260px) {
27
+ left: 176%;
28
+ top: 50%;
29
+ transform: translateY(-50%);
30
+ }
31
+
32
+ @media (max-width: 440px) {
33
+ width: 120px;
34
+ }
35
+
36
+ @media (max-width: 300px) {
37
+ width: 100px;
38
+ }
39
+ }
40
+
41
+ .permission-denied-tooltip .permission-denied-tooltip-text::after {
42
+ content: '';
43
+ position: absolute;
44
+ bottom: 100%;
45
+ left: 50%;
46
+ margin-left: -5px;
47
+ border-width: 5px;
48
+ border-style: solid;
49
+ border-color: transparent transparent black transparent;
50
+
51
+ @media (max-width: 1260px) {
52
+ bottom: 40%;
53
+ left: -5px;
54
+ transform: rotate(-90deg);
55
+ }
56
+ }
57
+
58
+ .permission-denied-tooltip:hover .permission-denied-tooltip-text {
59
+ visibility: visible;
60
+ }
61
+
62
+ .permission-denied-tooltip-text-big {
63
+ font-weight: 400;
64
+ font-size: 14px;
65
+ }
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import './Avatar.scss';
3
+ export interface AvatarProps {
4
+ text?: string | false;
5
+ onClick?: () => void;
6
+ }
7
+ export declare const Avatar: React.FC<AvatarProps>;
8
+ //# sourceMappingURL=Avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AAEvB,MAAM,WAAW,WAAW;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAWxC,CAAC"}
@@ -0,0 +1,26 @@
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.Avatar = void 0;
18
+ var jsx_runtime_1 = require("react/jsx-runtime");
19
+ var avatar_png_1 = __importDefault(require("../../assets/img/avatar.png"));
20
+ require("./Avatar.scss");
21
+ var Avatar = function (_a) {
22
+ var text = _a.text, onClick = _a.onClick;
23
+ return ((0, jsx_runtime_1.jsx)("div", __assign({ className: 'avatar-container' }, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ className: 'avatar-box' }, { children: [(0, jsx_runtime_1.jsx)("img", { src: avatar_png_1.default, className: 'avatar-img' }), text && ((0, jsx_runtime_1.jsx)("div", __assign({ className: 'avatar-toast', onClick: onClick }, { children: (0, jsx_runtime_1.jsx)("span", __assign({ className: 'avatar-toast-text' }, { children: text })) })))] })) })));
24
+ };
25
+ exports.Avatar = Avatar;
26
+ //# sourceMappingURL=Avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2EAA2D;AAC3D,yBAAuB;AAOhB,IAAM,MAAM,GAA0B,UAAC,EAAe;QAAd,IAAI,UAAA,EAAE,OAAO,aAAA;IAAM,OAAA,CAC9D,yCAAK,SAAS,EAAC,kBAAkB,gBAC7B,0CAAK,SAAS,EAAC,YAAY,iBACvB,gCAAK,GAAG,EAAE,oBAAgB,EAAE,SAAS,EAAC,YAAY,GAAG,EACpD,IAAI,IAAI,CACL,yCAAK,SAAS,EAAC,cAAc,EAAC,OAAO,EAAE,OAAO,gBAC1C,0CAAM,SAAS,EAAC,mBAAmB,gBAAE,IAAI,IAAQ,IAC/C,CACT,KACC,IACJ,CACT;AAXiE,CAWjE,CAAC;AAXW,QAAA,MAAM,UAWjB"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ onEndMeetingRequested?: () => void;
4
+ };
5
+ export declare const EndMeetingButtonPanel: React.FC<Props>;
6
+ export {};
7
+ //# sourceMappingURL=EndMeetingButtonPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndMeetingButtonPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/ButtonPanels/EndMeetingButtonPanel/EndMeetingButtonPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,KAAK,KAAK,GAAG;IACT,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAOjD,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EndMeetingButtonPanel = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var MultipartyButton_1 = require("../MultipartyButton/MultipartyButton");
6
+ var EndMeetingButtonPanel = function (_a) {
7
+ var onEndMeetingRequested = _a.onEndMeetingRequested;
8
+ return ((0, jsx_runtime_1.jsx)(MultipartyButton_1.MultipartyButton, { type: MultipartyButton_1.MultipartyButtonType.Mobile, onClick: onEndMeetingRequested, iconName: 'slim-x', isBackgroundVisible: true }));
9
+ };
10
+ exports.EndMeetingButtonPanel = EndMeetingButtonPanel;
11
+ //# sourceMappingURL=EndMeetingButtonPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EndMeetingButtonPanel.js","sourceRoot":"","sources":["../../../../../src/components/ButtonPanels/EndMeetingButtonPanel/EndMeetingButtonPanel.tsx"],"names":[],"mappings":";;;;AACA,yEAA4F;AAMrF,IAAM,qBAAqB,GAAoB,UAAC,EAAuB;QAAtB,qBAAqB,2BAAA;IAAmB,OAAA,CAC5F,uBAAC,mCAAgB,IACb,IAAI,EAAE,uCAAoB,CAAC,MAAM,EACjC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAC,QAAQ,EACjB,mBAAmB,SACrB,CACL;AAP+F,CAO/F,CAAC;AAPW,QAAA,qBAAqB,yBAOhC"}
@@ -0,0 +1,21 @@
1
+ import './MediaButtonsPanel.scss';
2
+ import React from 'react';
3
+ import { MultipartyButtonType } from '../MultipartyButton/MultipartyButton';
4
+ interface Props {
5
+ buttonsType: MultipartyButtonType;
6
+ isMuted: boolean;
7
+ isVideoTurnedOff: boolean;
8
+ isBackgroundVisible?: boolean;
9
+ isIconTransparencyEnabled?: boolean;
10
+ buttonsSpacing?: ButtonsSpacing;
11
+ onToggleMute?: () => void;
12
+ onToggleVideo?: () => void;
13
+ onSwitchCamera?: () => void;
14
+ }
15
+ export declare enum ButtonsSpacing {
16
+ Dense = 0,
17
+ Sparse = 1
18
+ }
19
+ export declare const MediaButtonsPanel: React.FC<Props>;
20
+ export {};
21
+ //# sourceMappingURL=MediaButtonsPanel.d.ts.map