Files
mixtape/zero.Web.UI/Sass/Canvas/_navigation.scss
T

488 lines
7.6 KiB
SCSS
Raw Normal View History

2021-08-26 16:06:12 +02:00
.app-nav-apps
{
position: absolute;
left: 100%;
top: 0;
bottom: 0;
width: 360px;
2021-08-26 20:42:25 +02:00
background: var(--color-bg-shade-3);
2021-08-26 16:06:12 +02:00
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
{
2021-08-26 20:42:25 +02:00
background: var(--color-bg-shade-4);
2021-08-26 16:06:12 +02:00
font-weight: 700;
}
}
.app-nav-app-icon
{
height: 32px;
}
.app-nav-app-selected
{
}
.app-nav
{
2021-08-26 16:06:12 +02:00
position: relative;
background: var(--color-box);
2021-01-06 12:03:21 +01:00
width: 260px;
color: var(--color-text);
2021-08-25 10:57:04 +02:00
height: 100vh;
2020-10-07 11:58:48 +02:00
display: grid;
2021-08-25 10:57:04 +02:00
grid-template-rows: auto auto 1fr auto;
box-shadow: var(--shadow-short);
2021-08-25 10:57:04 +02:00
margin-right: 1px;
2021-08-26 16:06:12 +02:00
z-index: 5;
2020-10-07 11:58:48 +02:00
.theme-rounded &
{
2021-08-25 10:57:04 +02:00
height: calc(100vh - 20px);
2020-10-07 11:58:48 +02:00
margin: 10px;
margin-right: 0;
border-radius: var(--radius);
2021-09-21 22:26:28 +02:00
box-shadow: var(--shadow-short);
2020-10-07 11:58:48 +02:00
}
2021-03-07 23:10:40 +01:00
&.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;
2021-03-07 23:10:40 +01:00
}
}
2021-08-25 10:57:04 +02:00
.app-nav-boxed
{
2021-08-25 11:04:14 +02:00
height: 90px;
2021-08-25 10:57:04 +02:00
display: flex;
align-items: center;
2021-09-01 00:19:28 +02:00
justify-content: space-between;
padding: 0 var(--padding-xs) 0 0;
2021-08-25 10:57:04 +02:00
}
2020-04-06 00:49:09 +02:00
.app-nav-inner
{
overflow-y: auto;
2020-04-06 13:24:46 +02:00
overflow-x: hidden;
2020-04-06 00:49:09 +02:00
}
2021-08-25 10:57:04 +02:00
.app-nav-headline
{
2021-08-25 10:57:04 +02:00
display: flex;
align-items: center;
2021-08-25 11:04:14 +02:00
padding: 0 var(--padding-m);
2021-08-26 20:42:25 +02:00
margin: 0;
2020-10-07 11:58:48 +02:00
.theme-rounded &
{
margin: 0;
}
2020-06-23 19:40:38 +02:00
img
{
2021-09-11 12:01:13 +02:00
//height: 24px;
2021-09-16 09:54:45 +02:00
height: 15px;
2021-09-11 12:01:13 +02:00
//margin-top: 9px;
2020-06-23 19:40:38 +02:00
}
}
2021-09-16 09:54:45 +02:00
.app-nav-logo-circle
{
display: inline-block;
width: 22px;
height: 22px;
border-radius: 20px;
border: 4px solid var(--color-accent);
margin-right: 12px;
}
2021-09-01 00:19:28 +02:00
.app-nav-search
{
}
.app-nav-switch
{
2021-08-26 13:39:30 +02:00
margin-bottom: var(--padding-s);
2021-09-11 12:01:13 +02:00
//border-bottom: 1px solid var(--color-line-onbg);
2021-08-26 20:42:25 +02:00
background: var(--color-bg-shade-3);
2021-09-11 12:01:13 +02:00
//background: var(--color-accent);
2021-08-25 10:57:04 +02:00
.ui-button.type-light
{
2021-08-25 10:57:04 +02:00
padding: 0 24px;
2021-08-26 13:39:30 +02:00
height: 70px;
2021-08-25 10:57:04 +02:00
background: transparent;
border-radius: 0;
2021-09-11 12:01:13 +02:00
font-size: var(--font-size-m);
}
2021-08-25 15:54:09 +02:00
.ui-dropdown-button-icon
{
max-height: 20px;
max-width: 20px;
}
2021-11-11 16:23:59 +01:00
&.is-fake
{
margin-bottom: 0;
height: 0;
background: none;
}
}
2020-09-29 16:19:24 +02:00
a.app-nav-item, button.app-nav-item
{
display: grid;
2021-08-22 22:35:21 +02:00
grid-template-columns: 28px 1fr auto;
gap: 6px;
align-items: center;
2020-04-07 00:33:09 +02:00
font-size: var(--font-size);
2021-08-25 15:54:09 +02:00
padding: 0 var(--padding-m);
2021-08-02 12:57:08 +02:00
height: 50px;
color: var(--color-text);
2021-01-06 12:03:21 +01:00
position: relative;
2021-08-22 22:35:21 +02:00
& + .app-nav-item
{
2021-08-25 15:54:09 +02:00
margin-top: 1px;
2021-08-22 22:35:21 +02:00
}
2020-04-05 18:09:27 +02:00
2020-04-13 11:41:17 +02:00
&:hover
2020-04-05 18:09:27 +02:00
{
color: var(--color-text);
2021-08-22 22:35:21 +02:00
background: var(--color-tree-selected);
2020-04-06 14:46:38 +02:00
.app-nav-item-icon
{
color: var(--color-text);
2020-04-06 14:46:38 +02:00
}
2020-04-05 18:09:27 +02:00
}
2020-04-13 11:41:17 +02:00
&.is-active:not([alias="dashboard"]), &.is-active-exact
2020-04-05 18:09:27 +02:00
{
color: var(--color-text);
background: var(--color-tree-selected);
2020-04-05 18:09:27 +02:00
font-weight: 700;
2021-09-11 14:54:28 +02:00
border-right: 3px solid var(--color-accent);
2020-04-06 00:49:09 +02:00
2020-04-13 11:41:17 +02:00
.app-nav-item-icon
{
2021-09-11 14:54:28 +02:00
color: var(--color-text);
2020-04-13 11:41:17 +02:00
}
.app-nav-item-arrow
{
transform: rotate(180deg);
}
2021-01-06 12:03:21 +01:00
2021-04-22 16:04:05 +02:00
.app-nav-item-text
{
2021-09-11 14:54:28 +02:00
color: var(--color-text);
2021-04-22 16:04:05 +02:00
}
2021-01-06 12:03:21 +01:00
&:before
{
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
2021-03-03 15:55:14 +01:00
//width: 3px;
2021-01-06 12:03:21 +01:00
display: inline-block;
background: var(--color-tree-selected-line);
}
2020-04-06 00:49:09 +02:00
}
}
2021-04-22 16:04:05 +02:00
.app-nav-item-text
{
transition: color 0.2s ease;
}
.app-nav-item-icon
{
font-size: 18px;
line-height: 1;
font-weight: 400;
position: relative;
2021-08-22 22:35:21 +02:00
top: -1px;
color: var(--color-text);
2020-04-06 14:46:38 +02:00
transition: color 0.2s ease;
2020-04-06 00:26:31 +02:00
}
.app-nav-item-arrow
{
color: var(--color-text-dim);
}
2020-04-06 00:26:31 +02:00
.app-nav-children
{
padding: 5px 0 10px;
}
a.app-nav-child
{
display: flex;
align-items: center;
font-size: var(--font-size);
2021-08-27 00:27:59 +02:00
padding: 0 var(--padding) 0 calc(var(--padding) + 26px);
2021-08-22 22:35:21 +02:00
height: 36px;
color: var(--color-text-dim);
2021-10-07 15:53:43 +02:00
position: relative;
2020-04-06 00:26:31 +02:00
&:hover, &.is-active
{
color: var(--color-text);
2020-04-06 00:26:31 +02:00
}
2020-04-06 00:49:09 +02:00
&.is-active
{
font-weight: 700;
}
2021-10-07 15:53:43 +02:00
&.is-active:before
{
content: '';
display: inline-block;
width: 4px;
height: 4px;
border-radius: 4px;
background: var(--color-accent);
position: absolute;
margin-left: -14px;
margin-top: -3px;
top: 50%;
}
2020-04-06 00:49:09 +02:00
}
.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
{
2021-10-07 15:53:43 +02:00
transform: translateX(-10px);
2020-04-06 00:49:09 +02:00
opacity: 0;
2020-04-06 13:24:46 +02:00
}
// account
.app-nav-account
{
2021-08-26 20:42:25 +02:00
border-top: 1px solid var(--color-line-onbg);
2020-04-06 13:24:46 +02:00
}
.app-nav-account-button
{
display: grid;
width: 100%;
2020-12-19 12:33:24 +01:00
grid-template-columns: auto minmax(auto, 1fr) auto;
gap: 16px;
color: var(--color-text-dim);
2020-04-06 13:24:46 +02:00
align-items: center;
2021-08-27 00:27:59 +02:00
padding: var(--padding-m);
2021-11-16 13:48:18 +01:00
border-bottom-left-radius: var(--radius);
border-bottom-right-radius: var(--radius);
2021-08-27 00:27:59 +02:00
&:hover
{
background: var(--color-bg-shade-2);
}
2020-04-06 13:24:46 +02:00
.-image
{
2020-08-20 01:35:08 +02:00
height: 32px;
width: 32px;
2020-04-06 13:24:46 +02:00
border-radius: 18px;
position: relative;
2020-05-14 15:40:41 +02:00
top: -1px;
background: var(--color-bg-shade-3);
2020-05-14 15:40:41 +02:00
text-align: center;
2020-08-20 01:35:08 +02:00
line-height: 33px;
2020-05-14 15:40:41 +02:00
font-size: 16px;
overflow: hidden;
color: transparent;
2020-04-06 13:24:46 +02:00
}
.-text
{
font-weight: 400;
margin: 0;
strong
{
2020-09-05 17:35:47 +02:00
font-weight: 700;
color: var(--color-text);
2020-04-06 13:24:46 +02:00
}
}
2020-12-19 12:33:24 +01:00
}
/* 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;
}
}
2021-08-25 15:54:09 +02:00
.app-nav-boxed
{
width: 100%;
overflow: hidden;
}
2020-12-19 12:33:24 +01:00
.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;
2021-08-25 15:54:09 +02:00
padding-left: var(--padding);
width: 100%;
2020-12-19 18:04:19 +01:00
//height: 60px;
2020-12-19 12:33:24 +01:00
&:hover + .app-nav-children
{
display: block;
}
2021-01-13 13:51:55 +01:00
&:before
{
display: none;
}
2020-12-19 12:33:24 +01:00
}
.app-nav-item-text, .app-nav-item-arrow
{
display: none;
}
.app-nav-children
{
display: none;
position: absolute;
2020-12-19 18:04:19 +01:00
z-index: 8;
min-width: 240px;
min-height: 20px;
background: var(--color-dropdown);
2020-12-19 12:33:24 +01:00
border-radius: var(--radius);
2020-12-19 18:04:19 +01:00
border-top-left-radius: 0;
border-bottom-left-radius: 0;
border: 1px solid var(--color-dropdown-border);
2021-01-13 13:51:55 +01:00
box-shadow: 6px 1px 8px rgba(0, 0, 0, 0.02);
2020-12-19 18:04:19 +01:00
padding: 5px;
color: var(--color-text);
margin-left: 82px;
2021-01-13 13:51:55 +01:00
margin-top: -55px;
2020-12-19 12:33:24 +01:00
&:hover
{
display: block;
}
}
a.app-nav-child
{
padding: 0 var(--padding);
2020-12-19 18:04:19 +01:00
display: grid;
width: 100%;
grid-template-columns: minmax(0, 1fr) auto;
gap: 6px;
align-items: center;
font-size: var(--font-size);
padding: 0 16px;
2021-01-06 12:03:21 +01:00
height: 48px;
2020-12-19 18:04:19 +01:00
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;
}
2020-12-19 12:33:24 +01:00
}
.app-nav-account
{
padding: 0;
margin-bottom: var(--padding);
margin-left: 25px;
}
.app-nav-account-button
{
display: block;
width: 32px;
.-text, .-arrow
{
display: none;
}
}
}