48ede1420d
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/12
121 lines
3.1 KiB
SCSS
121 lines
3.1 KiB
SCSS
@import '../../../../styles/design-tokens';
|
|
|
|
.grid {
|
|
display: grid;
|
|
grid-template-columns: 1fr 1fr;
|
|
gap: 18px 22px;
|
|
}
|
|
|
|
.field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
// Grid-элементы по умолчанию не сжимаются уже своего min-content
|
|
// (min-width: auto) — из-за этого длинный текст/плейсхолдер в инпуте
|
|
// мог распирать колонку и вызывать горизонтальный скролл модалки.
|
|
min-width: 0;
|
|
}
|
|
.full { grid-column: 1 / -1; }
|
|
|
|
.label {
|
|
// display:block + min-height на 2 строки — так подпись из одной строки
|
|
// и подпись, свернувшаяся на две (например «Спрашивать причину
|
|
// просрочки»), одинаково резервируют место, и контролы двух полей одной
|
|
// строки грида начинаются на одном уровне независимо от переноса текста.
|
|
display: block;
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
color: $gray-700;
|
|
letter-spacing: .2px;
|
|
line-height: 16px;
|
|
min-height: 32px;
|
|
}
|
|
|
|
.req { color: $gold-600; }
|
|
|
|
.input,
|
|
.select,
|
|
.textarea {
|
|
// border-box обязателен: width:100% + padding/border в content-box
|
|
// (браузерный дефолт) делает элемент шире контейнера на padding+border
|
|
// и распирает модалку в горизонтальный скролл.
|
|
box-sizing: border-box;
|
|
padding: 11px 13px;
|
|
border: 1px solid $gray-300;
|
|
border-radius: $r-sm;
|
|
font-size: 13.5px;
|
|
font-family: $font-sans;
|
|
color: $gray-900;
|
|
transition: .18s;
|
|
background: #fff;
|
|
width: 100%;
|
|
|
|
@include input-focus-gold;
|
|
|
|
&::placeholder { color: $gray-400; }
|
|
&:disabled { background: $gray-50; color: $gray-400; cursor: not-allowed; }
|
|
}
|
|
|
|
.textarea { resize: vertical; min-height: 80px; }
|
|
|
|
.select {
|
|
appearance: none;
|
|
background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
background-repeat: no-repeat;
|
|
background-position: right 12px center;
|
|
padding-right: 36px;
|
|
}
|
|
|
|
.errorText {
|
|
font-size: 11.5px;
|
|
color: $red-500;
|
|
}
|
|
|
|
.hint {
|
|
font-size: 11.5px;
|
|
color: $gray-400;
|
|
}
|
|
|
|
.checkboxRow {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 9px;
|
|
font-size: 13px;
|
|
color: $gray-700;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
}
|
|
|
|
.checkbox {
|
|
width: 17px;
|
|
height: 17px;
|
|
accent-color: $gold-500;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.radioGroup {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
}
|
|
|
|
.radioRow {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 9px;
|
|
font-size: 13px;
|
|
color: $gray-700;
|
|
cursor: pointer;
|
|
user-select: none;
|
|
|
|
&.disabled { opacity: .45; cursor: not-allowed; }
|
|
}
|
|
|
|
.radio {
|
|
width: 16px;
|
|
height: 16px;
|
|
accent-color: $gold-500;
|
|
cursor: pointer;
|
|
&:disabled { cursor: not-allowed; }
|
|
}
|