blob: 7ec0cdf3df98c374630a65e5081a54e8ae5b18e0 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/*
* Overall tiled grid layout.
*/
.tiled-client-grid {
width: 100%;
height: 100%;
}
.tiled-client-grid,
.tiled-client-grid .tiled-client-row,
.tiled-client-grid .tiled-client-cell,
.tiled-client-grid .client-tile {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.tiled-client-grid {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.tiled-client-grid .tiled-client-row {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
}
/*
* Rendering of individual clients within tiles.
*/
.tiled-client-grid .client-tile {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
line-height: 1.5;
}
.tiled-client-grid .client-tile .client-tile-header {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
margin: 0;
background: #444;
padding: 0 0.25em;
font-size: 0.8em;
color: white;
z-index: 30;
min-height: 1.5em;
}
.tiled-client-grid .client-tile.focused .client-tile-header {
background-color: #3161a9;
}
.tiled-client-grid .client-tile .client-tile-header > * {
-webkit-box-flex: 0;
-webkit-flex: 0;
-ms-flex: 0;
flex: 0;
}
.tiled-client-grid .client-tile .client-tile-header .client-tile-name {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
padding: 0 0.5em;
margin-bottom: -0.125em;
}
.tiled-client-grid .client-tile .main {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.tiled-client-grid .client-tile-disconnect,
.tiled-client-grid .client-tile-shared-indicator {
max-height: 1em;
height: 100%;
}
.tiled-client-grid .client-tile-shared-indicator {
display: none;
}
.tiled-client-grid .shared .client-tile-shared-indicator {
display: inline;
}
.tiled-client-grid .client-user-count {
visibility: hidden;
display: block;
position: absolute;
right: 0;
top: 0;
z-index: 1;
border-radius: 0.25em;
padding: 0.125em 0.75em;
margin: 0.5em;
background: #055;
color: white;
font-weight: bold;
font-size: 0.8em;
}
.tiled-client-grid .client-user-count::before {
content: ' ';
display: inline-block;
margin-bottom: -0.2em;
padding-right: 0.25em;
width: 1em;
height: 1em;
background: center / contain no-repeat url('images/user-icons/guac-user-white.svg');
background-size: contain;
background-position: center;
background-repeat: no-repeat;
}
.tiled-client-grid .client-user-count .client-user-count-users,
.tiled-client-grid .client-user-count .client-user-count-messages {
position: absolute;
right: 0;
margin: 0;
padding: 0;
margin-top: 0.5em;
list-style: none;
}
.tiled-client-grid .client-user-count .client-user-count-users,
.tiled-client-grid .client-user-count .client-user-count-message {
border-radius: 0.25em;
background: black;
color: white;
padding: 0.5em;
}
.tiled-client-grid .client-user-count .client-user-count-message {
white-space: nowrap;
animation: 1s linear 3s fadeout;
}
.tiled-client-grid .client-tile-header .client-user-count {
display: inline-block;
position: relative;
white-space: nowrap;
background: black;
padding-left: 0.5em;
padding-right: 0.75em;
}
.tiled-client-grid .client-tile-header .client-user-count::before {
padding-right: 0.75em;
}
.tiled-client-grid .joined .client-user-count {
visibility: visible;
}
.tiled-client-grid .client-user-count .client-user-count-users {
display: none;
}
.tiled-client-grid .client-user-count:hover .client-user-count-users {
display: block;
}
.tiled-client-grid .client-user-count .client-user-count-user::after {
content: ', ';
margin-right: 0.25em;
}
.tiled-client-grid .client-user-count .client-user-count-user:last-child::after {
content: none;
}
.tiled-client-grid .client-user-count .client-user-count-user {
display: inline-block;
}
.tiled-client-grid .client-user-count .client-user-count-user.anonymous {
font-style: italic;
opacity: 0.5;
}
.tiled-client-grid .client-user-count .client-user-count-users {
width: 256px;
max-width: 75vw;
white-space: normal;
border: 1px solid #333;
}
.tiled-client-grid .client-user-count .client-user-count-users::before {
content: ' ';
display: block;
position: absolute;
right: 0.5em;
top: -0.5em;
width: 1em;
height: 1em;
background: black;
border: 1px solid #333;
border-right: none;
border-bottom: none;
transform: rotate(45deg);
}