File: D:/HostingSpaces/carrotps/carrotps.com/resources/sass/site/5-Components/_components.language.scss
// Component settings: Language
// ------------------------------------------
$c-language: (
'button-color': palette(neutral, medium),
'button-color-light': palette(light),
'button-color-hover': palette(secondary),
'color': palette(text,2),
'bgcolor': palette(light),
'bgcolor-alt': darken(palette(light), 5%),
'color-hover': palette(text-on-secondary),
'bgcolor-hover': palette(secondary),
);
// ------------------------------------------
.c-language {
position: relative;
color: map-get($c-language, 'button-color');
&.is-light {
color: map-get($c-language, 'button-color-light');
}
}
.c-language__button {
@include flex;
@include font(s);
@include border-radius;
position: relative;
width: 100%;
padding: space(1);
text-align: left;
background: transparent;
color: inherit;
border: none;
appearance: none;
transition: background-color 0.15s, box-shadow 0.15s;
&:focus {
outline: none;
}
.c-language:hover & {
color: map-get($c-language, 'button-color-hover');
}
}
.c-language__icon {
flex: none;
pointer-events: none;
}
.c-language__label {
margin-left: space(0.5);
font-weight: bold;
}
.c-language__dropdown {
position: absolute;
right: 0;
top: 100%;
min-width: 100%;
margin: 0;
opacity: 0;
list-style: none;
border-radius: map-get($border-radius, s);
box-shadow: 0 0 12px 1px rgba(palette(dark), 0.15);
pointer-events: none;
transform: translate3d(0, -5px, 0);
transition: opacity 0.3s, transform 0.3s;
.c-language:hover & {
opacity: 1;
pointer-events: all;
transform: translate3d(0,0,0);
}
}
.c-language__item {
background-color:map-get($c-language, 'bgcolor');
overflow: hidden;
&:nth-child(even) {
background-color: map-get($c-language, 'bgcolor-alt');
}
&:first-child {
border-radius: map-get($border-radius, s) map-get($border-radius, s) 0 0;
}
&:last-child {
border-radius: 0 0 map-get($border-radius, s) map-get($border-radius, s);
}
&:first-child:last-child {
border-radius: map-get($border-radius, s);
}
}
.c-language__link {
display: block;
padding: space(0.5) space(1);
text-align: center;
font-weight: bold;
text-decoration: none;
color: map-get($c-language, 'color');
transition: background-color 0.3s;
&:hover {
color: map-get($c-language, 'color-hover');
background-color: map-get($c-language, 'bgcolor-hover');
}
}