@aegisjsproject/styles
Version:
Pre-made and reusable styles for `@aegisjsproject/core`
68 lines (57 loc) • 1.64 kB
CSS
.form-group {
border: 1px solid transparent;
padding: var(--form-group-padding, 0.4em 0.8em);
margin-bottom: 0.4em;
border-radius: 6px;
transition: border-color 200ms ease-in-out;
}
.form-group:focus-within {
border-color: var(--form-group-border, #cacaca);
}
.form-group .input-label {
display: block;
margin: 0.4em 0;
}
.form-group .input-label.required::after {
content: ' *';
display: inline;
font-size: 0.8em;
font-weight: 800;
}
.form-group .input, .form-group .input:required:invalid:placeholder-shown {
display: block;
width: var(--input-width, 100%);
max-width: 100%;
color: currentColor;
border-style: solid;
border-color: var(--input-border, #cacaca);
border-width: 0 0 1px 0;
background: transparent;
padding: var(--form-group-padding, 0.5em 0.3em);
transition: color 300ms ease-in-out, background-color 300ms ease-in-out;
}
.form-group textarea.input {
resize: vertical;
}
.form-group .input:invalid {
box-shadow: none;
}
.form-group .input:invalid:not(:focus) {
color: var(--invalid-color, #-871717);
border-color: currentColor;
background-color: var(--invalid-background, #F7C1C1);
}
.form-group input[hidden] + label[for].btn-toggle {
background-color: var(--button-disabled-background);
margin: var(--form-group-margin, 0.3rem);
transition: background-color 300ms ease-in-out;
}
.form-group input[hidden]:checked + label[for].btn-toggle {
background-color: var(--button-background);
}
.form-group input[hidden]:not(:checked) + label[for].btn-toggle .when-checked {
display: none;
}
.form-group input[hidden]:checked + label[for].btn-toggle .when-unchecked {
display: none;
}