skillbox/client/src/styles/_mixins.scss

234 lines
4.1 KiB
SCSS

@import 'variables';
@import 'functions';
@import 'mixins/typography';
@mixin widget-shadow-base {
border-radius: $default-border-radius;
box-shadow: 0 3px 9px 0 rgba(0, 0, 0, 0.12);
}
@mixin widget-shadow {
@include widget-shadow-base;
border: 1px solid $color-silver-light;
}
@mixin widget-shadow-reverse {
@include widget-shadow-base;
border: 2px solid $color-white;
}
@mixin room-widget-text-style {
font-family: $sans-serif-font-family;
font-size: 1rem;
fill: $color-charcoal-dark;
}
@mixin input-box-shadow {
border: 1px solid #DBDBDB;
box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.15);
}
@mixin skillbox-colors {
&--yellow {
background-color: $color-accent-1;
& .widget-footer {
background-color: $color-accent-1-dark;
}
}
&--blue {
background-color: $color-accent-2;
& .widget-footer {
background-color: $color-accent-2-dark;
}
}
&--red {
background-color: $color-accent-3;
& .widget-footer {
background-color: $color-accent-3-dark;
}
}
&--green {
background-color: $color-accent-4;
& .widget-footer {
background-color: $color-accent-4-dark;
}
}
}
@mixin content-box($color-list) {
background-color: nth($color-list, 2);
padding: 15px;
align-items: start;
border-radius: $default-border-radius;
/deep/ .button {
border-color: nth($color-list, 1);
background-color: $color-white;
}
}
@mixin desktop {
@media (min-width: 1200px) {
@content
}
}
@mixin light-border($border-position) {
border-#{$border-position}: 1px solid $color-silver;
}
@mixin popover-defaults() {
bottom: $popover-default-bottom;
}
@mixin content-block {
padding-right: $medium-spacing;
padding-left: $medium-spacing;
max-width: 800px;
min-width: 320px;
width: 100%;
margin: 0 auto;
}
@mixin default-box-shadow {
box-shadow: 0 3px 9px 0 rgba(0, 0, 0, 0.12);
}
@mixin heading-line-height {
line-height: $default-heading-line-height;
margin-top: -0.2rem; // to offset the 1.2 line height, it leaves a padding on top
}
@mixin settings-page {
padding: $section-spacing;
@include desktop {
width: 800px;
display: flex;
flex-direction: column;
justify-self: center;
}
&__page-title {
@include main-title;
margin-bottom: $section-spacing;
}
&__heading {
@include heading-1;
margin-bottom: $medium-spacing;
}
&__paragraph {
@include lead-paragraph;
}
&__section {
margin-bottom: $section-spacing;
}
}
@mixin button-border {
border: 2px solid $color-silver-dark;
border-radius: 3px;
&--active {
border-color: $color-brand;
}
&--primary {
border-color: $color-brand;
}
&--disabled {
border-color: $color-silver-light;
}
}
@mixin centered($width: 800px) {
width: $width;
max-width: 100%;
justify-self: center;
}
@mixin table-row($color: $color-silver-dark) {
border-top: 1px solid $color;
padding: 15px 0;
width: 100%;
&:last-of-type {
border-bottom: 1px solid $color;
}
}
@mixin form-with-border {
@include input-box-shadow;
background-color: $color-white;
border-radius: $input-border-radius;
border: 1px solid $color-silver;
padding: $medium-spacing;
}
@mixin borderless-textarea {
display: flex;
width: 95%;
padding: 0;
box-sizing: border-box;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
line-height: 1.5;
border: 0;
min-height: 110px;
}
@mixin onboarding-illustration {
width: 400px;
height: 320px;
flex-shrink: 0;
margin-bottom: $large-spacing;
}
@mixin onboarding-page {
display: flex;
width: 100vw;
max-width: 800px;
flex-direction: column;
justify-self: center;
margin: 0 auto;
grid-column: 1 / -1;
align-items: center;
}
@mixin onboarding-text {
@include regular-text;
text-align: center;
max-width: 500px;
margin-bottom: $large-spacing;
}
@mixin inputstyle {
display: flex;
padding: $medium-spacing;
box-shadow: inset 0 1px 4px 0 rgba(0, 0, 0, 0.15);
border-radius: 4px;
box-sizing: border-box;
border: 1px solid $color-silver-light;
max-width: 100%;
background-color: $color-white;
}
@mixin auto-grow {
overflow: hidden;
resize: none;
outline: 0;
}