289 lines
5.8 KiB
SCSS
289 lines
5.8 KiB
SCSS
// Copyright 2021 Signal Messenger, LLC
|
|
// SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
@keyframes progress-animation {
|
|
0% {
|
|
background-position: 100%;
|
|
}
|
|
100% {
|
|
background-position: -100%;
|
|
}
|
|
}
|
|
|
|
.LeftPaneDialog {
|
|
$default-background-color: $color-ultramarine;
|
|
$default-text-color: $color-white;
|
|
$error-background-color: $color-accent-red;
|
|
$error-text-color: $default-text-color;
|
|
$warning-background-color: $color-accent-yellow;
|
|
$warning-text-color: $color-black;
|
|
|
|
align-items: center;
|
|
background: $default-background-color;
|
|
color: $default-text-color;
|
|
cursor: inherit;
|
|
display: flex;
|
|
min-height: 64px;
|
|
padding-block: 12px;
|
|
padding-inline: 16px 14px;
|
|
user-select: none;
|
|
width: 100%;
|
|
|
|
font-size: 13px;
|
|
line-height: 18px;
|
|
letter-spacing: -0.0025em;
|
|
font-weight: 400;
|
|
|
|
&--width-narrow {
|
|
padding-inline-start: 36px;
|
|
}
|
|
|
|
&__retry {
|
|
@include button-reset;
|
|
@include font-body-1-bold;
|
|
}
|
|
|
|
&--clickable {
|
|
cursor: pointer;
|
|
}
|
|
|
|
&__container {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-grow: 1;
|
|
}
|
|
|
|
&__container-close {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
&__spinner-container {
|
|
margin-inline-end: 18px;
|
|
}
|
|
|
|
&__spinner {
|
|
&__arc {
|
|
background-color: $color-black;
|
|
|
|
// Needed for specificity
|
|
@include dark-theme {
|
|
background-color: $color-black;
|
|
}
|
|
}
|
|
|
|
&__circle {
|
|
background-color: $color-accent-yellow;
|
|
}
|
|
}
|
|
|
|
&__icon {
|
|
width: 24px;
|
|
height: 24px;
|
|
margin-inline-end: 18px;
|
|
background-color: $color-white;
|
|
-webkit-mask-size: contain;
|
|
|
|
@media (forced-colors: active) {
|
|
background-color: WindowText;
|
|
}
|
|
|
|
&--relink {
|
|
-webkit-mask: url('../images/icons/v3/link/link-slash.svg') no-repeat
|
|
center;
|
|
}
|
|
|
|
&--network {
|
|
-webkit-mask: url('../images/icons/v3/wifi/wifi-error.svg') no-repeat
|
|
center;
|
|
}
|
|
|
|
&--update {
|
|
-webkit-mask: url('../images/icons/v3/refresh/refresh.svg') no-repeat
|
|
center;
|
|
}
|
|
|
|
&--warning {
|
|
-webkit-mask: url('../images/icons/v3/error/error-triangle.svg') no-repeat
|
|
center;
|
|
}
|
|
}
|
|
|
|
&__action-text {
|
|
@include button-reset;
|
|
text-decoration: none;
|
|
color: $color-white-alpha-80;
|
|
}
|
|
|
|
&__close-button {
|
|
@include button-reset;
|
|
|
|
border-radius: 4px;
|
|
float: inline-end;
|
|
height: 20px;
|
|
width: 20px;
|
|
|
|
&::before {
|
|
-webkit-mask: url('../images/icons/v3/x/x.svg') no-repeat center;
|
|
background-color: $color-white;
|
|
content: '';
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
|
|
@media (forced-colors: active) {
|
|
background-color: WindowText;
|
|
@include dark-theme {
|
|
background-color: WindowText;
|
|
}
|
|
}
|
|
}
|
|
|
|
&:hover,
|
|
&:focus {
|
|
background-color: $color-white-alpha-20;
|
|
}
|
|
&:active {
|
|
background-color: $color-white-alpha-20;
|
|
}
|
|
|
|
@media (forced-colors: active) {
|
|
&:hover,
|
|
&:focus,
|
|
&:active {
|
|
background-color: none;
|
|
}
|
|
@include dark-theme {
|
|
&:hover,
|
|
&:focus,
|
|
&:active {
|
|
background-color: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&__message {
|
|
width: 100%;
|
|
}
|
|
|
|
&__message,
|
|
&__tooltip {
|
|
max-width: 250px;
|
|
|
|
h3 {
|
|
@include font-body-1-bold;
|
|
padding: 0px;
|
|
margin: 0px;
|
|
}
|
|
span {
|
|
@include font-body-1;
|
|
display: inline-block;
|
|
}
|
|
a {
|
|
font-weight: bold;
|
|
text-decoration: none;
|
|
}
|
|
}
|
|
|
|
&__tooltip {
|
|
--tooltip-background-color: #{$default-background-color};
|
|
--tooltip-text-color: #{$default-text-color};
|
|
min-width: 280px;
|
|
text-align: inherit;
|
|
}
|
|
|
|
&,
|
|
&__tooltip {
|
|
&--error {
|
|
background-color: $error-background-color;
|
|
color: $error-text-color;
|
|
|
|
@include any-theme {
|
|
--tooltip-background-color: #{$error-background-color};
|
|
--tooltip-text-color: #{$error-text-color};
|
|
}
|
|
|
|
a {
|
|
color: $error-text-color;
|
|
}
|
|
|
|
.LeftPaneDialog__action-text {
|
|
color: $error-text-color;
|
|
}
|
|
}
|
|
|
|
&--warning {
|
|
background-color: $warning-background-color;
|
|
color: $warning-text-color;
|
|
|
|
@include any-theme {
|
|
--tooltip-background-color: #{$warning-background-color};
|
|
--tooltip-text-color: #{$warning-text-color};
|
|
}
|
|
|
|
a {
|
|
color: $warning-text-color;
|
|
}
|
|
|
|
.LeftPaneDialog__icon {
|
|
background-color: $warning-text-color;
|
|
|
|
@media (forced-colors: active) {
|
|
background-color: WindowText;
|
|
}
|
|
}
|
|
|
|
.LeftPaneDialog__close-button::before {
|
|
background-color: $warning-text-color;
|
|
|
|
@media (forced-colors: active) {
|
|
background-color: WindowText;
|
|
}
|
|
}
|
|
|
|
.LeftPaneDialog__action-text {
|
|
color: $warning-text-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
&__progress {
|
|
&--container {
|
|
background: $color-white-alpha-20;
|
|
border-radius: 2px;
|
|
height: 4px;
|
|
max-width: 210px;
|
|
overflow: hidden;
|
|
width: 100%;
|
|
margin-block: 10px 6px;
|
|
margin-inline: 0;
|
|
}
|
|
|
|
&--bar {
|
|
animation: progress-animation 2s linear infinite;
|
|
background: linear-gradient(
|
|
90deg,
|
|
$color-white-alpha-40,
|
|
$color-white-alpha-60,
|
|
$color-white-alpha-90,
|
|
$color-white-alpha-60,
|
|
$color-white-alpha-40
|
|
);
|
|
background-size: 200% 100%;
|
|
border-radius: 2px;
|
|
display: block;
|
|
height: 100%;
|
|
width: 100%;
|
|
&:dir(ltr) {
|
|
/* stylelint-disable-next-line declaration-property-value-disallowed-list */
|
|
transform: translateX(-100%);
|
|
}
|
|
&:dir(rtl) {
|
|
/* stylelint-disable-next-line declaration-property-value-disallowed-list */
|
|
transform: translateX(100%);
|
|
}
|
|
transition: transform 500ms ease-out;
|
|
}
|
|
}
|
|
}
|