Files
mixtape/zero.Web.UI/Sass/Canvas/_navigation.scss
T
2021-09-11 12:01:13 +02:00

454 lines
7.0 KiB
SCSS

.app-nav-apps
{
position: absolute;
left: 100%;
top: 0;
bottom: 0;
width: 360px;
background: var(--color-bg-shade-3);
z-index: -1;
margin-left: 0;
display: flex;
flex-direction: column;
display: none; // TODO
.ui-header-bar
{
height: 92px;
}
}
.app-nav-app
{
display: grid;
grid-template-columns: auto minmax(auto, 1fr) auto;
grid-gap: var(--padding-s);
align-items: center;
margin: 0 var(--padding-m);
padding: var(--padding-s) var(--padding-s);
border-radius: var(--radius);
&.is-active
{
background: var(--color-bg-shade-4);
font-weight: 700;
}
}
.app-nav-app-icon
{
height: 32px;
}
.app-nav-app-selected
{
}
.app-nav
{
position: relative;
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: 1px;
z-index: 5;
.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-boxed
{
height: 90px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 var(--padding-xs) 0 0;
}
.app-nav-inner
{
overflow-y: auto;
overflow-x: hidden;
}
.app-nav-headline
{
display: flex;
align-items: center;
padding: 0 var(--padding-m);
margin: 0;
.theme-rounded &
{
margin: 0;
}
img
{
//height: 24px;
height: 26px;
//margin-top: 9px;
}
}
.app-nav-search
{
}
.app-nav-switch
{
margin-bottom: var(--padding-s);
//border-bottom: 1px solid var(--color-line-onbg);
background: var(--color-bg-shade-3);
//background: var(--color-accent);
.ui-button.type-light
{
padding: 0 24px;
height: 70px;
background: transparent;
border-radius: 0;
font-size: var(--font-size-m);
}
.ui-dropdown-button-icon
{
max-height: 20px;
max-width: 20px;
}
}
a.app-nav-item, button.app-nav-item
{
display: grid;
grid-template-columns: 28px 1fr auto;
gap: 6px;
align-items: center;
font-size: var(--font-size);
padding: 0 var(--padding-m);
height: 50px;
color: var(--color-text);
position: relative;
border-radius: var(--radius);
& + .app-nav-item
{
margin-top: 1px;
}
&: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: -1px;
color: var(--color-text);
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) + 26px);
height: 36px;
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
{
border-top: 1px solid var(--color-line-onbg);
}
.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;
padding: var(--padding-m);
&:hover
{
background: var(--color-bg-shade-2);
}
.-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-boxed
{
width: 100%;
overflow: hidden;
}
.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;
padding-left: var(--padding);
width: 100%;
//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;
}
}
}