mirror of
https://github.com/vector-im/element-call.git
synced 2026-01-30 03:15:55 +00:00
This probably should have been part of https://github.com/element-hq/element-call/pull/2984
213 lines
4.4 KiB
CSS
213 lines
4.4 KiB
CSS
/*
|
|
Copyright 2022-2024 New Vector Ltd.
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
|
|
Please see LICENSE in the repository root for full details.
|
|
*/
|
|
|
|
.fieldRow {
|
|
display: flex;
|
|
margin-bottom: 32px;
|
|
align-items: center;
|
|
}
|
|
|
|
.field {
|
|
display: flex;
|
|
flex: 1;
|
|
min-width: 0;
|
|
position: relative;
|
|
}
|
|
|
|
.fieldRow.rightAlign {
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.fieldRow > * {
|
|
margin-right: 24px;
|
|
}
|
|
|
|
.fieldRow > :last-child {
|
|
margin-right: 0;
|
|
}
|
|
|
|
.inputField {
|
|
border-radius: 4px;
|
|
transition: border-color 0.25s;
|
|
border: 1px solid var(--cpd-color-border-interactive-primary);
|
|
}
|
|
|
|
.inputField input,
|
|
.inputField textarea {
|
|
font-weight: 400;
|
|
font-size: var(--font-size-body);
|
|
border: none;
|
|
border-radius: 4px;
|
|
padding: 12px 9px 10px 9px;
|
|
color: var(--cpd-color-text-primary);
|
|
background-color: var(--cpd-color-bg-canvas-default);
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.inputField.disabled input,
|
|
.inputField.disabled textarea,
|
|
.inputField.disabled span {
|
|
color: var(--cpd-color-text-disabled);
|
|
}
|
|
|
|
.inputField span {
|
|
padding: 11px 9px;
|
|
}
|
|
|
|
.inputField span:first-child {
|
|
padding-right: 0;
|
|
}
|
|
|
|
.inputField input::placeholder,
|
|
.inputField textarea::placeholder {
|
|
transition: color 0.25s ease-in 0s;
|
|
color: transparent;
|
|
}
|
|
|
|
.inputField input:placeholder-shown:focus::placeholder,
|
|
.inputField textarea:placeholder-shown:focus::placeholder {
|
|
transition: color 0.25s ease-in 0.1s;
|
|
color: var(--cpd-color-text-placeholder);
|
|
}
|
|
|
|
.inputField label {
|
|
transition:
|
|
font-size 0.25s ease-out 0.1s,
|
|
color 0.25s ease-out 0.1s,
|
|
top 0.25s ease-out 0.1s,
|
|
background-color 0.25s ease-out 0.1s;
|
|
color: var(--cpd-color-text-secondary);
|
|
background-color: transparent;
|
|
font-size: var(--font-size-body);
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
margin: 9px 8px;
|
|
padding: 2px;
|
|
pointer-events: none;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
max-width: calc(100% - 20px);
|
|
}
|
|
|
|
.inputField:focus-within {
|
|
border-color: var(--cpd-color-text-link-external);
|
|
}
|
|
|
|
.inputField input:focus,
|
|
.inputField textarea:focus {
|
|
outline: 0;
|
|
}
|
|
|
|
.inputField input:focus + label,
|
|
.inputField input:not(:placeholder-shown) + label,
|
|
.inputField.prefix input + label,
|
|
.inputField textarea:focus + label,
|
|
.inputField textarea:not(:placeholder-shown) + label,
|
|
.inputField.prefix textarea + label {
|
|
background-color: var(--cpd-color-bg-canvas-default);
|
|
transition:
|
|
font-size 0.25s ease-out 0s,
|
|
color 0.25s ease-out 0s,
|
|
top 0.25s ease-out 0s,
|
|
background-color 0.25s ease-out 0s;
|
|
font-size: var(--font-size-micro);
|
|
top: -13px;
|
|
padding: 0 2px;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.inputField input:focus + label,
|
|
.inputField textarea:focus + label {
|
|
color: var(--cpd-color-border-focused);
|
|
}
|
|
|
|
.checkboxField {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.checkboxField label {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-grow: 1;
|
|
font-size: var(--font-size-body);
|
|
line-height: 24px;
|
|
}
|
|
|
|
.checkboxField input {
|
|
outline: 0;
|
|
appearance: none;
|
|
-webkit-appearance: none;
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.checkbox {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
position: relative;
|
|
flex-shrink: 0;
|
|
height: 16px;
|
|
width: 16px;
|
|
border: 1.5px solid rgba(185, 190, 198, 0.5);
|
|
box-sizing: border-box;
|
|
border-radius: 4px;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.checkboxField.disabled,
|
|
.checkboxField.disabled .description {
|
|
color: var(--cpd-color-text-disabled);
|
|
}
|
|
|
|
.checkboxField.disabled .checkbox {
|
|
border-color: var(--cpd-color-border-disabled);
|
|
}
|
|
|
|
.checkbox svg {
|
|
display: none;
|
|
}
|
|
|
|
.checkbox svg * {
|
|
stroke: var(--stopgap-color-on-solid-accent);
|
|
}
|
|
|
|
.checkboxField input[type="checkbox"]:checked + label > .checkbox {
|
|
background: var(--cpd-color-text-action-accent);
|
|
border-color: var(--cpd-color-text-action-accent);
|
|
}
|
|
|
|
.checkboxField input[type="checkbox"]:checked + label > .checkbox svg {
|
|
display: flex;
|
|
}
|
|
|
|
.checkboxField:focus-within .checkbox {
|
|
border: 1.5px solid var(--cpd-color-text-link-external) !important;
|
|
}
|
|
|
|
.errorMessage {
|
|
margin: 0;
|
|
font-size: var(--font-size-caption);
|
|
color: var(--cpd-color-text-critical-primary);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.description {
|
|
color: var(--cpd-color-text-secondary);
|
|
margin-left: 26px;
|
|
width: 100%; /* Ensure that it breaks onto the next row */
|
|
}
|
|
|
|
.description.noLabel {
|
|
margin-top: -20px; /* Ensures that there is no weired spacing if the checkbox doesn't have a label */
|
|
}
|