components/sass/form/_index.scss
ポール ウェッブ df02f2fbd9 WIP
2019-02-06 17:41:44 -06:00

148 lines
2.5 KiB
SCSS

form {
// setting the font size here sizes everything within
margin-bottom: 1rem;
}
fieldset {
border-top: 1px solid $lbry-gray-1;
margin-bottom: 1.5rem;
position: relative;
button,
input {
&:not([type="button"]):not([type="radio"]):not([type="submit"]) {
padding-right: 1rem;
padding-left: 1rem;
transition: border 0.2s;
&:not(:focus) {
border-top-color: $lbry-black;
border-right-color: transparent;
border-bottom-color: $lbry-black;
border-left-color: $lbry-black;
}
&:focus {
border-top-color: $lbry-teal-5;
border-right-color: transparent;
border-bottom-color: $lbry-teal-5;
border-left-color: $lbry-teal-5;
}
}
&[type="button"],
&[type="submit"] {
color: $lbry-white;
padding-right: 1.5rem;
padding-left: 1.5rem;
transition: all 0.2s;
&:not(:hover) {
background-color: $lbry-black;
border-color: $lbry-black;
}
&:hover {
background-color: $lbry-teal-3;
border-color: $lbry-teal-5;
}
}
}
}
legend {
padding: 0.25rem 0.5rem;
border: 1px solid $lbry-gray-1;
margin-bottom: 1rem;
pointer-events: none;
}
check {
width: 1.5rem; height: 1.5rem;
top: 0; left: 0;
border: 2px solid;
border-radius: 50%;
display: block;
position: relative;
transition: border 0.2s;
z-index: 5;
&::before {
width: 100%; height: 100%;
top: 0; left: 0;
border-radius: 50%;
content: "";
display: block;
position: absolute;
transform: scale(0.6);
transition: background-color 0.2s;
}
}
radio {
min-height: 2rem;
align-items: center;
display: inline-flex;
flex-direction: row-reverse;
margin-right: 1rem;
margin-bottom: 1rem;
position: relative;
&:hover {
label {
color: $lbry-teal-4;
}
check {
border-color: $lbry-teal-4;
}
}
label {
padding-left: 0.5rem;
transition: color 0.2s;
}
input {
&[type="radio"] {
width: 0; height: 0;
visibility: hidden;
&:not(:checked) {
+ label + check::before {
background-color: transparent;
}
}
&:checked {
+ label {
color: $lbry-teal-4;
}
+ label + check::before {
background-color: $lbry-teal-4;
}
}
}
}
}
.check {
@extend check;
}
.fieldset {
@extend fieldset;
}
.form {
@extend form;
}
.radio-group {
@extend radio;
}