snappymail/dev/Styles/Ui.less
2023-05-09 11:27:40 +02:00

175 lines
2.7 KiB
Text

.g-ui-user-select-none {
user-select: none;
-webkit-touch-callout: none;
}
.g-ui-link {
color: var(--link-color, #369);
cursor: pointer;
padding: 2px;
text-decoration: underline;
&:focus {
outline: 1px;
outline-style: dotted;
}
}
.settings-save-trigger {
display: inline-block;
line-height: 1em;
margin-left: 0.5em !important;
&::after {
font-family: "snappymail";
content: " ";
display: block;
opacity: 0;
transition: opacity 1s linear;
}
&.saving::after {
animation: rotation .8s infinite ease-in-out;
border: 3px solid transparent;
border-radius: 100%;
border-top-color: #999;
height: 11px;
opacity: 1;
width: 11px;
}
&.success::after {
color: #080;
content: "✔";
opacity: 1;
}
&.error::after {
color: #F00;
content: "✖";
opacity: 1;
}
}
textarea + .settings-save-trigger {
vertical-align: top;
}
.settings-save-trigger-input {
transition: border-color 0.5s linear;
&.success {
border-color: green;
}
&.error {
border-color: red;
}
}
.e-action {
cursor: pointer;
}
.list-table {
max-width: 800px;
}
.button-confirm-delete {
transition: all 0.2s linear;
white-space: nowrap;
}
.button-confirm-delete:not(.delete-access) {
opacity: 0;
transform: translateX(-15px);
visibility: hidden;
}
.drag-handle {
color: #eee;
cursor: grab;
}
tr:hover .drag-handle {
color: #aaa;
}
// TABS
// -------------
.tabs {
display: grid;
grid-auto-columns: minmax(0, 1fr);
grid-template-rows: min-content auto;
}
.tabs > input[type="radio"] {
position: absolute;
top: 0;
left: -9999px;
display: none;
}
// Actual tabs
.tabs > label {
border: 1px solid transparent;
border-radius: 4px 4px 0 0;
cursor: pointer;
grid-row-start: 1;
opacity: 0.6;
margin: 0 2px -1px 0;
padding: 5px;
text-align: center;
&:hover {
border-color: var(--tab-hover-border-clr, #eee);
opacity: 0.8;
}
}
.tabs > [id^="tab"]:checked + label {
background-color: var(--tab-active-bg-clr, #fff);
border-color: var(--border-color, #ddd) var(--border-color, #ddd) transparent var(--border-color, #ddd);
opacity: 1;
z-index: 1;
}
// TABBABLE
// --------
.tabs .tab-content {
grid-column-start: 1;
grid-row-start: 2;
visibility: hidden;
}
.tabs > [id^="tab"]:checked + label + .tab-content {
visibility: visible;
}
// OTHER
.legend {
border-bottom: 1px solid var(--border-color, #ddd);
font-size: 150%;
line-height: 2.1;
margin-bottom: 1.43em;
}
summary.legend {
cursor: pointer;
}
.btn.btn-thin {
padding: 0 9px;
}
@media screen and (max-width: @maxMobileWidth) {
.form-horizontal {
.control-group {
> label {
text-align: var(--left, left);
}
// Move over all input controls and content
> *:not(label) {
margin-left: 20px;
}
}
}
}