@lxlib/theme
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.1.
272 lines (226 loc) • 6.25 kB
text/less
@sidebar-nav-prefix: ~'.sidebar-nav';
@sidebar-nav-arrow-width: 10px;
@{sidebar-nav-prefix} {
display: block;
margin: 0;
padding: 0;
font-size: @lxlib-default-aside-nav-fs;
&__item {
position: relative;
display: flex;
flex-direction: column;
border-left: 3px solid transparent;
transition: border-left-color 0.4s ease;
&-link {
position: relative;
display: block;
padding: @lxlib-default-aside-nav-padding-top-bottom @lxlib-default-aside-nav-padding-left-right * 2
@lxlib-default-aside-nav-padding-top-bottom @lxlib-default-aside-nav-padding-left-right;
overflow: hidden;
color: @lxlib-default-aside-nav-text-color;
white-space: nowrap;
text-decoration: none ;
text-overflow: ellipsis;
user-select: none;
&:hover {
color: @lxlib-default-aside-nav-text-hover-color;
}
}
&-icon {
display: inline-block;
min-width: @lxlib-default-aside-nav-icon-width;
margin-right: @layout-gutter;
transition: font-size 0.15s @ease-out, margin 0.3s @ease-in-out;
}
&-img {
width: @lxlib-default-aside-nav-img-wh;
height: @lxlib-default-aside-nav-img-wh;
}
&-text {
opacity: 1;
transition: opacity 0.3s @ease-in-out, width 0.3s @ease-in-out;
}
&-disabled {
cursor: default;
opacity: 0.6;
&:hover {
color: @lxlib-default-aside-nav-text-color;
}
}
}
// Selected
&__selected {
background-color: @lxlib-default-aside-nav-selected-bg;
border-left-color: @lxlib-default-aside-nav-selected-text-color;
> @{sidebar-nav-prefix}__item-link {
color: @lxlib-default-aside-nav-selected-text-color;
}
}
// Open Submenu
&__open {
> @{sidebar-nav-prefix}__sub {
display: block;
animation: fadeIn 0.5s;
}
> @{sidebar-nav-prefix}__item-link {
@{sidebar-nav-prefix}__sub-arrow {
transform: translateY(-2px);
&::before {
transform: rotate(45deg) translateX(2px);
}
&::after {
transform: rotate(-45deg) translateX(-2px);
}
}
}
}
&__group-title {
padding: @lxlib-default-aside-nav-padding-top-bottom @layout-gutter * 2;
color: @lxlib-default-aside-nav-group-text-color;
}
&__sub {
display: none;
overflow: hidden;
@{sidebar-nav-prefix}__item {
border-left: 0 ;
}
&-arrow {
position: absolute;
top: 50%;
right: @lxlib-default-aside-nav-padding-left-right;
width: @sidebar-nav-arrow-width;
transition: transform 0.3s @ease-in-out;
&::before,
&::after {
position: absolute;
width: 6px;
height: 1.5px;
background: #fff;
background-image: linear-gradient(to right, @menu-item-color, @menu-item-color);
border-radius: 2px;
transition: background 0.3s @ease-in-out, transform 0.3s @ease-in-out, top 0.3s @ease-in-out;
content: '';
}
&::before {
transform: rotate(-45deg) translateX(2px);
}
&::after {
transform: rotate(45deg) translateX(-2px);
}
}
}
// Badge
.badge {
position: absolute;
right: @layout-gutter * 2;
@badge-height: @layout-gutter * 2;
&:not(.badge-dot) {
top: (@lxlib-default-aside-nav-item-height - @badge-height) / 2;
height: @badge-height;
padding: 0 4px;
overflow: hidden;
line-height: @badge-height;
}
&-dot {
top: (@lxlib-default-aside-nav-item-height - @layout-gutter) / 2;
}
}
// Dept
&__depth1 {
@{sidebar-nav-prefix}__item-link {
padding-left: @lxlib-default-aside-nav-depth1-padding-left + @lxlib-default-aside-nav-icon-width;
}
}
&__depth2 {
@{sidebar-nav-prefix}__item-link {
padding-left: @lxlib-default-aside-nav-depth2-padding-left + @lxlib-default-aside-nav-icon-width;
}
}
&__depth3 {
@{sidebar-nav-prefix}__item-link {
padding-left: @lxlib-default-aside-nav-depth3-padding-left + @lxlib-default-aside-nav-icon-width;
}
}
&__depth4 {
@{sidebar-nav-prefix}__item-link {
padding-left: @lxlib-default-aside-nav-depth4-padding-left + @lxlib-default-aside-nav-icon-width;
}
}
// Floating
&__floating {
position: absolute;
z-index: @zindex + 7;
display: none;
min-width: 160px;
background-color: @lxlib-default-aside-bg;
border: 1px solid @lxlib-default-content-heading-border;
border-radius: 4px;
@{sidebar-nav-prefix}__item {
&-link {
padding-left: @layout-gutter * 2;
}
}
&-show {
display: block;
}
@{sidebar-nav-prefix}__sub {
display: block;
&-arrow {
display: none;
}
}
// Dept
@{sidebar-nav-prefix}__depth2 {
@{sidebar-nav-prefix}__item-link {
padding-left: @layout-gutter * 3;
}
}
@{sidebar-nav-prefix}__depth3 {
@{sidebar-nav-prefix}__item-link {
padding-left: @layout-gutter * 4;
}
}
@{sidebar-nav-prefix}__depth4 {
@{sidebar-nav-prefix}__item-link {
padding-left: @layout-gutter * 5;
}
}
}
}
@media (min-width: @mobile-min) {
@{lxlib-default-prefix}__collapsed {
@{sidebar-nav-prefix}:not(@{sidebar-nav-prefix}__sub) {
@{sidebar-nav-prefix}__item {
border: none;
&-link {
display: flex;
justify-content: center;
padding: (@layout-gutter * 3) 0;
@{sidebar-nav-prefix}__item-icon {
margin-right: 0;
font-size: @lxlib-default-aside-collapsed-nav-fs;
}
@{sidebar-nav-prefix}__item-img {
width: @lxlib-default-aside-collapsed-nav-img-wh;
height: @lxlib-default-aside-collapsed-nav-img-wh;
}
@{sidebar-nav-prefix}__item-text {
display: none;
opacity: 0;
}
}
}
@{sidebar-nav-prefix}__group-title {
display: none;
}
}
@{sidebar-nav-prefix} {
&__sub {
display: none ;
&-arrow {
display: none;
}
}
}
}
}