cryptpad/customize.dist/src/less2/include/loading.less
2025-10-02 17:31:31 +02:00

279 lines
7.1 KiB
Plaintext

/*
* SPDX-FileCopyrightText: 2023 XWiki CryptPad Team <contact@cryptpad.org> and contributors
*
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
@import (reference) "./colortheme-all.less";
@import (reference) "./password-input.less";
@import (reference) "./forms.less";
@import (reference) "./tools.less";
#cp-loading {
@font-face {
font-family: 'Open Sans';
src: url('/components/open-sans-fontface/fonts/Regular/OpenSans-Regular.eot');
src: url('/components/open-sans-fontface/fonts/Regular/OpenSans-Regular.eot?#iefix') format('embedded-opentype'),
url('/components/open-sans-fontface/fonts/Regular/OpenSans-Regular.woff') format('woff'),
url('/components/open-sans-fontface/fonts/Regular/OpenSans-Regular.ttf') format('truetype'),
url('/components/open-sans-fontface/fonts/Regular/OpenSans-Regular.svg#OpenSansRegular') format('svg');
font-weight: normal;
font-style: normal;
}
.password_main();
.forms_main();
visibility: visible;
position: fixed;
z-index: 10000000;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
background-color: @cp_loading-bg;
color: @cp_loading-fg;
font-size: 1.3em;
line-height: 120%;
opacity: 1;
display: flex;
flex-flow: column;
justify-content: space-between;
align-items: center;
font: 20px 'Open Sans', 'Helvetica Neue', sans-serif !important;
&.cp-loading-transparent {
background-color: fade(@cp_loading-bg, 70%);
}
&.cp-loading-hidden {
opacity: 0;
visibility: hidden;
transition: opacity 0.75s, visibility 0s 0.75s;
}
.cp-loading-logo {
flex: 0 1 auto;
min-height: 0;
display: flex;
align-items: center;
gap: 1rem;
color: @cp_loading-spinner;
img {
margin: 0;
max-height: 60px;
}
span {
font-size: 40px;
font-family: "IBM Plex Mono";
.tools_unselectable();
}
}
.cp-loading-container {
width: 700px;
max-width: 90vw;
max-height: calc(100vh - 20px);
flex-shrink: 0;
display: flex;
flex-flow: column;
align-items: center;
}
.cp-loading-cryptofist {
margin-left: auto;
margin-right: auto;
max-width: 90vw;
max-height: ~"max(40vh, 250px)";
//max-height: 300px;
width: auto;
height: auto;
margin-bottom: 2em;
}
@media screen and (max-width: 500px) {
font-size: 16px !important;
}
@media screen and (max-width: 300px) {
.cp-loading-logo {
img {
max-height: 40px;
}
span {
font-size: 20px;
}
}
}
@media screen and (max-height: 600px) {
font-size: 16px !important;
}
#cp-loading-message {
background: @cp_loading-msg-bg;
padding: 1rem;
width: 100%;
border-radius: @variables_radius;
color: @cp_loading-fg;
text-align: left;
overflow-y: auto;
&.cp-error-message, &.cp-error-message-alt {
margin: 0;
font-size: 16px;
padding: 0.5rem;
width: auto;
}
&.cp-error-message {
background-color: @cp_alerts-danger-bg;
color: @cp_alerts-danger-text;
}
&.cp-error-message-alt {
background-color: @cp_alerts-danger-text;
color: @cp_alerts-danger-bg;
}
&:empty {
display: none;
}
a {
color: @cp_loading-link;
border-radius: @variables_radius;
}
p:last-child {
margin-bottom: 0;
}
}
#cp-loading-status {
display: flex;
color: @cp_loading-color;
align-items: center;
font-family: "IBM Plex Mono";
padding-top: 0.5rem;
gap: 0.5rem;
svg {
margin: 0;
}
}
#cp-loading-footer {
margin-bottom: 2rem;
display: flex;
flex-flow: column;
align-items: center;
}
#cp-loading-password-prompt {
p.cp-password-error {
margin: 0;
margin-bottom: 0.5rem;
font-size: 16px;
padding: 0.5rem;
background-color: @cp_alerts-danger-bg;
color: @cp_alerts-danger-text;
border-radius: @variables_radius;
}
.cp-password-form {
display: flex;
flex-wrap: wrap;
gap:0.5rem;
width: 100%;
.cp-password-container {
flex: 1;
min-width: 0;
}
.cp-password-reveal {
margin-left: 0.5rem;
&:focus-visible {
outline: @variables_focus_style;
border-radius: @variables_radius;
}
}
}
.cp-password-input {
font-size: 16px;
&:focus-visible {
outline: @variables_focus_style;
}
}
.tools_placeholder-color();
}
p.cp-password-info {
text-align: left;
margin-bottom: 0.5rem;
}
.cp-loading-progress {
width: 100%;
text-align: center;
p {
margin: 5px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.cp-loading-progress-list {
display: inline-block;
max-width: 100%;
color: @cp_loading-color;
}
.cp-loading-progress-bar {
margin: 1rem 0;
height: 5px;
background: @cp_loading-progress-bg;
border: 0;
//border: 1px solid @cp_loading-progress-bar-bg;
border-radius: @variables_radius;
}
.cp-loading-progress-bar-value {
height: 100%;
background: @cp_loading-progress-bar-bg;
border-radius: @variables_radius;
}
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(1800deg);
}
}
.cp-loading-spinner-container {
margin: 1rem 0;
height: 5px;
width: 100%;
border: 0;
overflow: hidden;
background: @cp_loading-progress-bg;
border-radius: @variables_radius;
}
.cp-spinner-main {
width: 100%;
height: 5px;
background: @cp_loading-progress-bar-bg;
border-radius: @variables_radius;
animation: loading-animation 1s infinite linear;
transform-origin: 0% 50%;
}
@keyframes loading-animation {
0% {
transform: translateX(0) scaleX(0);
}
40% {
transform: translateX(0) scaleX(0.4);
}
100% {
transform: translateX(100%) scaleX(0.5);
}
}
button {
.cp-spinner {
svg {
animation: spin 10s linear infinite ;
margin: 0 0 0.1rem 0.3rem;
}
}
}
}