Files
mixtape/zero.Web.UI/Sass/Canvas/_navigation.scss
T
2021-08-02 12:57:08 +02:00

362 lines
5.6 KiB
SCSS

.app-nav
{
background: var(--color-box);
width: 260px;
color: var(--color-text);
height: 100vh;
display: grid;
grid-template-rows: auto auto 1fr auto;
box-shadow: var(--shadow-short);
margin-right: 2px;
.theme-rounded &
{
height: calc(100vh - 20px);
margin: 10px;
margin-right: 0;
border-radius: var(--radius);
}
&.theme-dark
{
//background-image: radial-gradient(rgba(255,255,255,.1) 1px,transparent 0),radial-gradient(rgba(255,255,255,.1) 1px,transparent 0);
//background-size: 40px 40px;
//background-position: 0 0,20px 20px;
}
}
.app-nav-inner
{
overflow-y: auto;
overflow-x: hidden;
padding-top: 3px;
margin-top: -3px;
}
.app-nav-headline
{
display: flex;
align-items: center;
padding: 0 var(--padding);
padding-top: 4px;
height: var(--height-top);
margin: 5px 0 5px;
.theme-rounded &
{
margin: 0;
}
img
{
height: 28px;
margin-top: 10px;
}
}
.app-nav-switch
{
padding: 16px var(--padding) 0;
margin-bottom: 30px;
.ui-button
{
padding-left: 20px;
}
}
a.app-nav-item, button.app-nav-item
{
display: grid;
grid-template-columns: 32px 1fr auto;
gap: 6px;
align-items: center;
font-size: var(--font-size);
padding: 0 var(--padding);
height: 50px;
color: var(--color-text);
position: relative;
&:hover
{
color: var(--color-text);
//background: var(--color-tree-selected);
.app-nav-item-icon
{
color: var(--color-text);
}
}
&.is-active:not([alias="dashboard"]), &.is-active-exact
{
color: var(--color-text);
background: var(--color-tree-selected);
font-weight: 700;
//border-right: 3px solid var(--color-primary);
.app-nav-item-icon
{
color: var(--color-primary);
}
.app-nav-item-arrow
{
transform: rotate(180deg);
}
.app-nav-item-text
{
color: var(--color-primary);
}
&:before
{
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
//width: 3px;
display: inline-block;
background: var(--color-tree-selected-line);
}
}
}
.app-nav-item-text
{
transition: color 0.2s ease;
}
.app-nav-item-icon
{
font-size: 18px;
line-height: 1;
font-weight: 400;
position: relative;
top: -2px;
color: var(--color-text-dim);
transition: color 0.2s ease;
}
.app-nav-item-arrow
{
color: var(--color-text-dim);
}
.app-nav-children
{
padding: 5px 0 10px;
}
a.app-nav-child
{
display: flex;
align-items: center;
font-size: var(--font-size);
padding: 0 var(--padding) 0 calc(var(--padding) + 36px);
height: 30px;
color: var(--color-text-dim);
&:hover, &.is-active
{
color: var(--color-text);
}
&.is-active
{
font-weight: 700;
}
}
.app-nav-children-enter-active
{
transition: all .3s ease;
}
.app-nav-children-leave-active
{
transition: all 0;
}
.app-nav-children-enter, .app-nav-children-leave-to
{
transform: translateX(10px);
opacity: 0;
}
// account
.app-nav-account
{
padding: var(--padding);
padding-top: var(--padding-xs);
}
.app-nav-account-button
{
display: grid;
width: 100%;
grid-template-columns: auto minmax(auto, 1fr) auto;
gap: 16px;
color: var(--color-text-dim);
align-items: center;
.-image
{
height: 32px;
width: 32px;
border-radius: 18px;
position: relative;
top: -1px;
background: var(--color-bg-shade-3);
text-align: center;
line-height: 33px;
font-size: 16px;
overflow: hidden;
color: transparent;
}
.-text
{
font-weight: 400;
margin: 0;
strong
{
font-weight: 700;
color: var(--color-text);
}
}
}
/* COMPACT MODE */
.app-nav.is-compact
{
width: 82px;
.app-nav-headline
{
width: 100%;
overflow: hidden;
padding-left: 0;
padding-right: 0;
img
{
margin-left: 29px;
clip-path: circle(23.78% at 13px 14px);
min-width: 118px;
}
}
.app-nav-switch
{
visibility: hidden;
pointer-events: none;
opacity: 0;
width: 100%;
overflow: hidden;
padding: 16px 0 0;
}
a.app-nav-item, button.app-nav-item
{
display: flex;
//height: 60px;
&:hover + .app-nav-children
{
display: block;
}
&:before
{
display: none;
}
}
.app-nav-item-text, .app-nav-item-arrow
{
display: none;
}
.app-nav-children
{
display: none;
position: absolute;
z-index: 8;
min-width: 240px;
min-height: 20px;
background: var(--color-dropdown);
border-radius: var(--radius);
border-top-left-radius: 0;
border-bottom-left-radius: 0;
border: 1px solid var(--color-dropdown-border);
box-shadow: 6px 1px 8px rgba(0, 0, 0, 0.02);
padding: 5px;
color: var(--color-text);
margin-left: 82px;
margin-top: -55px;
&:hover
{
display: block;
}
}
a.app-nav-child
{
padding: 0 var(--padding);
display: grid;
width: 100%;
grid-template-columns: minmax(0, 1fr) auto;
gap: 6px;
align-items: center;
font-size: var(--font-size);
padding: 0 16px;
height: 48px;
color: var(--color-text-dim);
border-radius: var(--radius);
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
max-width: 100%;
&:not([disabled]):hover, &:focus
{
background: var(--color-dropdown-selected);
}
&.is-active
{
color: var(--color-text);
font-weight: 700;
}
}
.app-nav-account
{
padding: 0;
margin-bottom: var(--padding);
margin-left: 25px;
}
.app-nav-account-button
{
display: block;
width: 32px;
.-text, .-arrow
{
display: none;
}
}
}