insomnia/app/css/components/sidebar.scss
Gregory Schier 8f77b18b21 Better menus
2016-07-15 23:07:27 -07:00

189 lines
3.0 KiB
SCSS

@import '../constants/dimensions';
@import '../constants/colors';
.sidebar {
position: relative;
display: grid;
grid-template-rows: $line-height-md 1fr;
grid-template-columns: 1fr;
background-color: $bg-dark;
color: $font-dark-bg;
width: 100%;
height: 100%;
&:focus {
outline: none;
}
// ~~~~~~~~~~~~~~ //
// Sidebar Header //
// ~~~~~~~~~~~~~~ //
.sidebar__header {
background-color: $bg-brand;
color: $font-brand-bg;
width: 100%;
&:hover {
background-color: lighten($bg-brand, 1);
}
h1 {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
// HACK: Bump up the arrow a bit
i.fa-caret-down {
position: relative;
top: -2px;
}
}
// Make the dropdown offset to the right
.dropdown ul {
right: -40%;
}
.btn {
padding: 0 $padding-md;
}
}
// ~~~~~~~~~~~~ //
// Sidebar List //
// ~~~~~~~~~~~~ //
.sidebar__list {
}
// Root list scrolling
& > .sidebar__list {
overflow-y: auto;
padding-bottom: $line-height-md;
&::-webkit-scrollbar {
display: none;
}
&:hover::-webkit-scrollbar {
display: block;
}
}
// ~~~~~~~~~~~ //
// Sidebar Row //
// ~~~~~~~~~~~ //
.sidebar__row {
// Nothing yet...
}
// ~~~~~~~~~~~~ //
// Sidebar Item //
// ~~~~~~~~~~~~ //
.sidebar__item {
display: grid;
grid-template-columns: 1fr auto;
grid-template-rows: $line-height-xs;
color: $hl;
& > * {
height: 100%;
}
&.sidebar__item--big {
grid-template-rows: $line-height-sm;
}
&.active {
color: $font-dark-bg;
.tag {
opacity: 1;
}
}
&:hover {
background-color: $hl-xxs;
}
.tag {
opacity: 0.5;
padding-left: 0;
text-align: left;
width: 2.8em;
}
}
.sidebar__item__icon {
padding-right: $padding-sm;
}
// ~~~~~~~~~~~~~~~~~ //
// Sidebar Clickable //
// ~~~~~~~~~~~~~~~~~ //
.sidebar__clickable {
display: grid;
grid-template-columns: auto 1fr;
align-items: center;
}
// Padding
.sidebar__list .sidebar__clickable {
padding-left: $padding-md;
}
.sidebar__list .sidebar__list .sidebar__clickable {
padding-left: $padding-md * 2;
}
// ~~~~~~~~~~~~~~~ //
// Sidebar Actions //
// ~~~~~~~~~~~~~~~ //
.sidebar__actions {
& > * {
height: 100%;
}
& > button,
& > .dropdown > button {
display: none;
color: $hl;
height: 100%;
padding: 0 $padding-sm;
}
& > button:hover,
& > .dropdown:hover > button {
color: $font-dark-bg;
}
}
.sidebar__item:hover .sidebar__actions > button,
.sidebar__item:hover .sidebar__actions > .dropdown > button {
display: initial;
}
// ~~~~~~~~~~~~~~ //
// Sidebar Footer //
// ~~~~~~~~~~~~~~ //
footer.sidebar__footer {
position: absolute;
bottom: 0;
left: 0;
right: 0;
margin: 0;
background-color: transparentize($bg-dark, 0.1);
padding: $padding-sm;
}
}