jiti-meet/css/_filmstrip.scss

168 lines
4.3 KiB
SCSS
Raw Normal View History

2016-11-03 15:07:48 +00:00
%align-right {
@include flex();
flex-direction: row-reverse;
flex-wrap: nowrap;
justify-content: flex-start;
}
2016-11-03 14:18:28 +00:00
.filmstrip {
2016-11-03 15:07:48 +00:00
position: absolute;
bottom: 0;
right: 0;
2016-11-03 15:54:23 +00:00
padding: 10px 5px;
2016-11-03 15:07:48 +00:00
@extend %align-right;
z-index: $filmstripVideosZ;
2016-11-03 15:07:48 +00:00
&__toolbar {
2016-11-03 14:18:28 +00:00
@include flex();
2016-11-03 15:07:48 +00:00
flex-direction: column-reverse;
2016-11-03 14:18:28 +00:00
flex-wrap: nowrap;
2016-11-03 15:07:48 +00:00
position: relative;
2017-04-06 18:09:05 +00:00
width: $filmstripToggleButtonWidth;
2016-11-03 15:07:48 +00:00
button {
font-size: 14px;
line-height: 1.2;
text-align: center;
background: transparent;
opacity: 0.7;
height: auto;
width: 100%;
padding: 0;
2016-11-03 15:54:23 +00:00
margin: 0;
2016-11-03 15:07:48 +00:00
border: none;
outline: none;
-webkit-appearance: none;
&:hover {
opacity: 1;
}
i {
cursor: pointer;
}
}
}
2016-11-03 14:18:28 +00:00
2016-11-03 15:07:48 +00:00
&__videos {
@extend %align-right;
position:relative;
2016-11-03 14:18:28 +00:00
height:196px;
2016-11-03 15:07:48 +00:00
padding: 0;
2017-04-06 18:09:05 +00:00
/* The filmstrip should not be covered by the left toolbar. */
2016-11-03 14:18:28 +00:00
bottom: 0;
width:auto;
transition: bottom 2s;
overflow: visible !important;
2017-04-06 18:09:05 +00:00
/*!!! Removes the gap between the local video container and the remote
videos. */
2017-01-09 21:32:25 +00:00
font-size: 0pt;
2016-11-03 14:18:28 +00:00
&#remoteVideos {
border: $thumbnailsBorder solid transparent;
padding-left: $defaultToolbarSize + 5;
}
2016-11-03 14:18:28 +00:00
&.hidden {
bottom: -196px;
}
.remote-videos-container {
display: flex;
}
2016-11-03 14:18:28 +00:00
.videocontainer {
display: none;
position: relative;
background-size: contain;
border: $thumbnailVideoBorder solid transparent;
2017-01-09 21:32:25 +00:00
border-radius: $borderRadius;
2016-11-03 14:18:28 +00:00
margin: 0 $thumbnailVideoMargin;
&.videoContainerFocused, &:hover {
cursor: hand;
}
/**
2017-04-06 18:09:05 +00:00
* Focused video thumbnail.
*/
2016-11-03 14:18:28 +00:00
&.videoContainerFocused {
transition-duration: 0.5s;
-webkit-transition-duration: 0.5s;
-webkit-animation-name: greyPulse;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: 1;
2016-11-11 16:52:36 +00:00
border: $thumbnailVideoBorder solid $videoThumbnailSelected !important;
2016-11-03 14:18:28 +00:00
box-shadow: inset 0 0 3px $videoThumbnailSelected,
0 0 3px $videoThumbnailSelected !important;
}
.remotevideomenu > .icon-menu {
2016-11-03 19:42:23 +00:00
display: none;
}
.presence-label {
color: $participantNameColor;
font-size: 12px;
font-weight: 100;
left: 0;
margin: 0 auto;
overflow: hidden;
pointer-events: none;
position: absolute;
right: 0;
text-align: center;
text-overflow: ellipsis;
top: calc(50% + 30px);
white-space: nowrap;
width: 100%;
z-index: $zindex3;
}
2016-11-03 14:18:28 +00:00
/**
2017-04-06 18:09:05 +00:00
* Hovered video thumbnail.
*/
2016-11-03 14:18:28 +00:00
&:hover {
cursor: hand;
2016-11-11 16:52:36 +00:00
border: $thumbnailVideoBorder solid $videoThumbnailHovered;
2016-11-03 14:18:28 +00:00
box-shadow: inset 0 0 3px $videoThumbnailHovered,
0 0 3px $videoThumbnailHovered;
2016-11-03 19:42:23 +00:00
.remotevideomenu > .icon-menu {
2016-11-03 19:42:23 +00:00
display: inline-block;
}
2016-11-03 14:18:28 +00:00
}
2017-04-06 18:09:05 +00:00
/* With the TemasysWebRTC plugin <object/> element is used
2016-11-03 14:18:28 +00:00
instead of <video/> */
& > video,
& > object {
cursor: hand;
2017-01-09 21:32:25 +00:00
border-radius: $borderRadius;
2016-11-03 14:18:28 +00:00
object-fit: cover;
overflow: hidden;
}
}
}
2017-04-06 18:09:05 +00:00
/**
* Style the filmstrip videos in filmstrip-only mode.
*/
&__videos-filmstripOnly {
margin-top: auto;
margin-bottom: auto;
}
.remote-videos-container {
transition: opacity 1s;
}
&.hide-videos {
.remote-videos-container {
opacity: 0;
pointer-events: none;
}
}
}