167 lines
2.8 KiB
SCSS
167 lines
2.8 KiB
SCSS
/**
|
|
* Button
|
|
*
|
|
* @class .__button-base
|
|
* @class .__button-basic
|
|
*
|
|
* @class .__button-plain
|
|
* @selector {::after}
|
|
* @state {:hover}
|
|
*
|
|
* @class .__button-black
|
|
* @state {:hover}
|
|
*
|
|
* @class .__button-white
|
|
* @state {:hover}
|
|
*
|
|
* @class .__button-gray
|
|
* @state {:hover}
|
|
*
|
|
* @class .__button-padding-horizontal
|
|
* @class .__button-padding-vertical
|
|
*/
|
|
|
|
.__button-base {
|
|
border: 1px solid;
|
|
font-size: 1rem;
|
|
letter-spacing: 0.025rem;
|
|
position: relative;
|
|
transition: all 0.2s;
|
|
}
|
|
|
|
.__button-basic {
|
|
@extend .__button-base;
|
|
}
|
|
|
|
.__button-plain {
|
|
@extend .__button-base;
|
|
background-color: transparent;
|
|
border-color: transparent;
|
|
|
|
&::after {
|
|
width: 100%; height: 2px;
|
|
bottom: 2px; left: 0;
|
|
|
|
content: "";
|
|
display: block;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
&:not(:hover)::after {
|
|
background-color: transparent;
|
|
}
|
|
|
|
&:hover::after {
|
|
background-color: $black;
|
|
}
|
|
}
|
|
|
|
.__button-black {
|
|
@extend .__button-base;
|
|
@extend .__button-padding-vertical;
|
|
@extend .__button-padding-horizontal;
|
|
|
|
&:not(:hover) {
|
|
background-color: $black;
|
|
border-color: $white;
|
|
box-shadow: 2px 2px 0 $white;
|
|
color: $white;
|
|
}
|
|
|
|
&:hover {
|
|
background-color: $white;
|
|
border-color: $black;
|
|
box-shadow: 2px 2px 0 $black;
|
|
color: inherit;
|
|
}
|
|
}
|
|
|
|
.__button-white {
|
|
@extend .__button-base;
|
|
@extend .__button-padding-vertical;
|
|
@extend .__button-padding-horizontal;
|
|
|
|
&:not(:hover) {
|
|
background-color: $white;
|
|
border-color: transparent;
|
|
box-shadow: 2px 2px 0 $black;
|
|
color: inherit;
|
|
}
|
|
|
|
&:hover {
|
|
background-color: $black;
|
|
border-color: $white;
|
|
box-shadow: 2px 2px 0 $white;
|
|
color: $white;
|
|
}
|
|
}
|
|
|
|
.__button-gray {
|
|
@extend .__button-base;
|
|
@extend .__button-padding-vertical;
|
|
@extend .__button-padding-horizontal;
|
|
|
|
background-color: $white;
|
|
|
|
&:not(:hover) {
|
|
border-color: transparent;
|
|
box-shadow: 2px 2px 0 $black;
|
|
}
|
|
|
|
&:hover {
|
|
border-color: $teal;
|
|
box-shadow: 2px 2px 0 $teal;
|
|
color: $teal;
|
|
}
|
|
}
|
|
|
|
.__button-padding-horizontal {
|
|
padding-right: 1rem;
|
|
padding-left: 1rem;
|
|
}
|
|
|
|
.__button-padding-vertical {
|
|
padding-top: 0.5rem;
|
|
padding-bottom: 0.5rem;
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Loader
|
|
*
|
|
* @class .__loading
|
|
* @selector {::before}
|
|
* @selector {::after}
|
|
*/
|
|
|
|
.__loading {
|
|
width: 100%; height: 10rem;
|
|
|
|
cursor: wait;
|
|
position: relative;
|
|
|
|
&::before {
|
|
width: 4rem; height: 4rem;
|
|
top: 2rem; left: calc(50% - 2rem);
|
|
|
|
animation: spin 2s linear infinite;
|
|
border-radius: 50%;
|
|
border-style: solid;
|
|
border-top-color: $teal;
|
|
border-width: 6px;
|
|
content: "";
|
|
cursor: wait;
|
|
position: absolute;
|
|
}
|
|
|
|
&::after {
|
|
top: 7rem; left: 0;
|
|
|
|
cursor: wait;
|
|
font-size: 1rem;
|
|
position: absolute;
|
|
text-align: center;
|
|
width: 100%;
|
|
}
|
|
}
|