Files
element-call/src/tile/GridTile.module.css
T

86 lines
2.0 KiB
CSS
Raw Normal View History

2024-05-02 18:44:36 -04:00
/*
Copyright 2022-2024 New Vector Ltd.
2024-05-02 18:44:36 -04:00
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
Please see LICENSE in the repository root for full details.
2024-05-02 18:44:36 -04:00
*/
.tile {
--media-view-border-radius: var(--cpd-space-4x);
2025-06-26 05:08:57 -04:00
--hover-space-margin: var(--cpd-space-1x);
2024-05-02 18:44:36 -04:00
transition: outline-color ease 0.15s;
outline: var(--cpd-border-width-2) solid rgb(0 0 0 / 0);
}
/* Use a pseudo-element to create the expressive speaking border, since CSS
borders don't support gradients */
.tile::before {
2024-05-02 18:44:36 -04:00
content: "";
position: absolute;
z-index: -1; /* Put it below the outline */
opacity: 0; /* Hidden unless speaking */
transition: opacity ease 0.15s;
inset: calc(-1 * var(--cpd-border-width-4));
border-radius: var(--cpd-space-5x);
2024-11-04 08:54:13 -01:00
background-blend-mode: overlay, normal;
}
.tile.speaking {
/* !important because speaking border should take priority over hover */
outline: var(--cpd-border-width-1) solid var(--cpd-color-bg-canvas-default) !important;
}
.tile.speaking::before {
2025-03-03 23:41:29 -05:00
background:
linear-gradient(
2024-05-02 18:44:36 -04:00
119deg,
rgba(13, 92, 189, 0.7) 0%,
rgba(13, 189, 168, 0.7) 100%
),
linear-gradient(
180deg,
rgba(13, 92, 189, 0.9) 0%,
rgba(13, 189, 168, 0.9) 100%
);
2024-11-04 08:54:13 -01:00
opacity: 1;
2024-05-02 18:44:36 -04:00
}
2024-11-04 08:54:13 -01:00
.tile.handRaised {
/* !important because hand raised border should take priority over hover */
outline: var(--cpd-border-width-2) solid var(--cpd-color-bg-canvas-default) !important;
2024-05-02 18:44:36 -04:00
}
2024-11-04 08:54:13 -01:00
.tile.handRaised::before {
2025-03-03 23:41:29 -05:00
background:
linear-gradient(
2024-11-04 08:54:13 -01:00
119deg,
var(--cpd-color-yellow-1200) 0%,
var(--cpd-color-yellow-900) 100%
),
linear-gradient(
180deg,
var(--cpd-color-yellow-1200) 0%,
var(--cpd-color-yellow-900) 100%
);
2024-05-02 18:44:36 -04:00
opacity: 1;
}
@media (hover: hover) {
.tile:hover {
2024-05-02 18:44:36 -04:00
outline: var(--cpd-border-width-2) solid
var(--cpd-color-border-interactive-hovered);
}
}
.muteIcon[data-muted="true"] {
color: var(--cpd-color-icon-secondary);
}
.muteIcon[data-muted="false"] {
color: var(--cpd-color-icon-primary);
}
.volumeSlider {
width: 100%;
}