You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

145 lines
2.5 KiB
CSS

.formContainer > *:first-child {
margin-top: 20px;
}
.formContainer > * {
display: block;
align-items: center;
width: 400px;
max-width: 80vw;
margin: 10px auto;
margin-bottom: 20px;
}
.formElementContainer label {
width: 150px;
display: block;
font-weight: bold;
margin-bottom: 8px;
}
.formElementContainer input , .formElementContainer textarea{
padding: 10px;
}
.formElementContainer input, .formElementContainer textarea, .formElementContainer .complexInput {
box-sizing: border-box;
width: 100%;
min-width: 0;
border: solid 1px rgba(0,0,0,.2);
border-radius: 2px;
transition-property: border-color,box-shadow;
transition-duration: .2s;
transition-timing-function: ease-in-out;
font: 400 14px Arial;
}
.formElementContainer textarea {
height: 120px;
resize: none;
}
:global(.dark) .formElementContainer input, :global(.dark) .formElementContainer .complexInput {
border: none;
}
.complexInput {
display: flex;
flex-direction: row;
overflow: hidden;
background: white;
position: relative;
}
.checkboxContainer .complexInput {
background: none;
border: none;
}
.checkboxContainer .complexInput input {
max-width: 35px;
}
.checkboxContainer .complexInput label {
flex: 1;
}
.complexInput > .inputDecorators {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
pointer-events: none;
padding: 8px 10px;
}
.inputDecorators > span {
white-space: pre;
display: inline-block;
font: 400 14px Arial;
}
.inputDecorators > span {
color: black;
transition: .3s opacity;
}
.complexInput input:focus + .inputDecorators .numRemaining {
opacity: .4;
}
.complexInput > button {
width: 38px;
display: inline-block;
}
.complexInput > input {
flex: 1;
border: 0;
border-radius: 0;
}
.formElementContainer span.hint {
display: block;
margin-top: 8px;
color: var(--error-color);
opacity: 0;
transition: .2s opacity;
user-select: none;
height: 18.5px;
}
.formElementContainer .invalid {
border: solid 1px var(--error-color);
box-shadow: var(--error-color);
}
.formElementContainer .invalid + span.hint {
opacity: 1;
}
.formElementContainer button {
min-height: 20px;
background: rgb(156, 39, 176);
color: white;
padding: 10px 0;
border: none;
box-shadow: none;
transition-property: opacity filter;
transition-duration: .2s;
}
.formElementContainer > button {
width: 100%;
}
.formElementContainer button[type="submit"] {
margin-top: 10px;
}
.formElementContainer button[disabled] {
opacity: .4;
filter: saturate(.2);
}