accounts-frontend/src/components/languageSwitcher/languageSwitcher.scss

187 lines
3.5 KiB
SCSS
Raw Normal View History

@import '~components/ui/colors.scss';
@import '~components/ui/fonts.scss';
@import '~components/ui/popup/popup.scss';
@mixin hideFooter {
@media (max-height: 455px) {
@content;
}
}
.languageSwitcher {
composes: popupWrapper from 'components/ui/popup/popup.scss';
@include popupBounding(400px);
}
.languageSwitcherBody {
composes: body from 'components/ui/popup/popup.scss';
display: flex;
flex-direction: column;
max-height: calc(100vh - 132px);
@media screen and (min-height: 630px) {
max-height: 500px;
}
}
.searchBox {
position: relative;
margin-bottom: 20px;
}
.searchIcon {
composes: search from 'components/ui/icons.scss';
position: absolute;
top: 14px;
right: 12px;
font-size: 22px;
color: #EDEBE5;
pointer-events: none; // Иконка чисто декоративная, так что клик должен проходить сквозь неё
}
$languageListBorderColor: #eee;
$languageListBorderStyle: 1px solid $languageListBorderColor;
.languagesList {
flex-grow: 1;
overflow-y: auto;
border-top: $languageListBorderStyle;
border-bottom: $languageListBorderStyle;
margin-bottom: 20px;
@include hideFooter {
& {
margin-bottom: 0;
}
}
}
.languageItem {
font-family: $font-family-title;
transition: background-color .25s;
cursor: pointer;
overflow: hidden;
&:hover {
background-color: $whiteButtonLight;
}
}
.languageFlex {
box-sizing: border-box;
display: flex;
align-items: center;
padding: 10px;
border-top: $languageListBorderStyle;
.firstLanguageItem & {
border-top: none;
}
}
.languageIco {
display: inline-block;
margin-right: 7px;
width: 40px;
height: 30px;
box-shadow: 0 0 1px rgba(#000, .2);
background: no-repeat;
background-size: cover;
}
.languageCaptions {
flex-grow: 1;
}
.languageName {
font-size: 15px;
margin-bottom: 2px;
}
.languageSubName {
font-size: 11px;
color: #CCC;
}
// Реализация радио кнопки. Когда у нас будет нормальный компонент радио кнопок, нужно будет перейти на него
.languageCircle {
composes: checkmark from 'components/ui/icons.scss';
position: relative;
box-sizing: border-box;
width: 22px;
height: 22px;
right: -32px;
font-size: 10px;
line-height: 18px;
text-align: center;
color: #fff;
border: 2px solid #DCD8CD;
border-radius: 50%;
transition: .5s cubic-bezier(0.19, 1, 0.22, 1);
&:before {
opacity: 0;
transition: opacity 0.3s;
}
.languageItem:hover & {
right: 0;
}
.activeLanguageItem & {
border-color: $green;
background: $green;
right: 0;
&:before {
opacity: 1;
}
}
}
.improveTranslates {
border: 1px solid #DEDEDE;
background: #F3F1ED;
padding: 10px;
display: flex;
flex-shrink: 0;
@include hideFooter {
& {
display: none;
}
}
}
.improveTranslatesIcon {
composes: translate from 'components/ui/icons.scss';
color: lighter($blue);
font-size: 22px;
margin-right: 10px;
}
.improveTranslatesContent {
}
.improveTranslatesTitle {
font-family: $font-family-title;
font-size: 13px;
margin-bottom: 3px;
}
.improveTranslatesText {
font-size: 10px;
color: #9A9A9A;
line-height: 1.2;
}