accounts-frontend/packages/app/components/ui/form/dropdown.scss

132 lines
2.4 KiB
SCSS
Raw Normal View History

@import '~app/components/ui/colors.scss';
@import '~app/components/ui/fonts.scss';
$dropdownPadding: 15px;
@mixin dropdown-theme($themeName, $backgroundColor) {
2020-05-24 04:38:24 +05:30
.#{$themeName} {
composes: dropdown;
2020-05-24 04:38:24 +05:30
background-color: $backgroundColor;
2020-05-24 04:38:24 +05:30
.menuItem:hover,
&:hover {
background-color: lighter($backgroundColor);
}
2020-05-24 04:38:24 +05:30
&:active,
&.opened {
background-color: darker($backgroundColor);
}
}
}
.dropdown {
2020-05-24 04:38:24 +05:30
display: inline-block;
box-sizing: border-box;
height: 50px;
2021-03-26 08:49:04 +05:30
padding-inline-start: $dropdownPadding;
2020-05-24 04:38:24 +05:30
// 28px - ширина иконки при заданном размере шрифта
2021-03-26 08:49:04 +05:30
padding-inline-end: $dropdownPadding * 2 + 28px;
2020-05-24 04:38:24 +05:30
position: relative;
font-family: $font-family-title;
color: $defaultButtonTextColor;
font-size: 18px;
line-height: 50px;
text-decoration: none;
cursor: pointer;
transition: background-color 0.25s;
&:focus {
outline: none;
}
}
.label {
2020-05-24 04:38:24 +05:30
display: block;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
2021-03-26 08:49:04 +05:30
text-align: start;
}
.opened {
}
.toggleIcon {
2020-05-24 04:38:24 +05:30
composes: selecter from '~app/components/ui/icons.scss';
position: absolute;
2021-03-26 08:49:04 +05:30
inset-inline-end: $dropdownPadding;
2020-05-24 04:38:24 +05:30
top: 16px;
font-size: 17px;
2021-03-26 08:49:04 +05:30
transition: inset-inline-end 0.3s cubic-bezier(0.23, 1, 0.32, 1); // easeOutQuint
2020-05-24 04:38:24 +05:30
.dropdown:hover & {
2021-03-26 08:49:04 +05:30
inset-inline-end: $dropdownPadding - 5px;
2020-05-24 04:38:24 +05:30
}
.dropdown:active &,
.dropdown.opened & {
2021-03-26 08:49:04 +05:30
inset-inline-end: $dropdownPadding + 5px;
2020-05-24 04:38:24 +05:30
}
}
.block {
2020-05-24 04:38:24 +05:30
display: block;
width: 100%;
2020-05-24 04:38:24 +05:30
.menu {
width: 100%;
}
2016-05-28 04:44:28 +05:30
}
.menu {
2020-05-24 04:38:24 +05:30
position: absolute;
top: 60px;
2021-03-26 08:49:04 +05:30
inset-inline-start: 0;
2020-05-24 04:38:24 +05:30
z-index: 10;
2016-05-28 04:44:28 +05:30
2020-05-24 04:38:24 +05:30
width: 120%;
2016-05-28 04:44:28 +05:30
2020-05-24 04:38:24 +05:30
background: #fff;
border: 1px solid #ddd;
2016-05-28 04:44:28 +05:30
2020-05-24 04:38:24 +05:30
transition: 0.5s ease;
transition-property: opacity, visibility;
opacity: 0;
visibility: hidden;
2016-05-28 04:44:28 +05:30
2020-05-24 04:38:24 +05:30
.dropdown.opened & {
opacity: 1;
visibility: visible;
}
2016-05-28 04:44:28 +05:30
}
.menuItem {
2020-05-24 04:38:24 +05:30
composes: label;
2020-05-24 04:38:24 +05:30
height: 50px;
padding: 0 13px;
overflow: hidden;
text-overflow: ellipsis;
2016-05-28 04:44:28 +05:30
2020-05-24 04:38:24 +05:30
color: #444;
line-height: 50px;
font-size: 18px;
font-family: $font-family-title;
2016-05-28 04:44:28 +05:30
2020-05-24 04:38:24 +05:30
border-bottom: 1px solid #ebe8df;
cursor: pointer;
2016-05-28 04:44:28 +05:30
2020-05-24 04:38:24 +05:30
transition: 0.25s;
2016-05-28 04:44:28 +05:30
2020-05-24 04:38:24 +05:30
&:hover {
color: #fff;
}
}
@include dropdown-theme('green', $green);