@scania/tegel
Version:
Tegel Design System
161 lines (157 loc) • 3.92 kB
CSS
/*
Contains spacing variables for the layout
*/
:host,
:root {
--tds-scrollbar-width-standard: thin;
--tds-scrollbar-width: 10px;
--tds-scrollbar-height: 10px;
--tds-scrollbar-thumb-border-width: 3px;
--tds-scrollbar-thumb-border-hover-width: 2px;
}
body {
scrollbar-width: thin;
}
/** The breakpoint at which the layout changes from fixed size to full-width. */
:host {
pointer-events: none;
display: block;
position: fixed;
top: 0;
width: 100%;
height: 100%;
z-index: 500;
}
:host .wrapper {
height: inherit;
/* default slot */
/* 'end' slot */
}
:host .wrapper slot:not([name])::slotted(*) {
border-bottom: 1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top);
}
:host .wrapper ::slotted([slot=end]) {
border-top: 1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top);
}
:host .wrapper .tds-side-menu-list-end {
margin-top: 68px;
}
:host .state-closed {
display: none;
}
:host .state-open slot[name=overlay]::slotted(tds-side-menu-overlay) {
opacity: 0.4;
}
:host .state-open slot[name=close-button]::slotted(tds-side-menu-close-button) {
opacity: 1;
}
:host .state-upper-slot-empty .tds-side-menu-list-upper {
display: none;
}
:host .state-upper-slot-empty .tds-side-menu-list-end {
margin-top: 0;
}
:host .state-upper-slot-empty ::slotted([slot=end]) {
border-top: none;
border-bottom: 1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top);
}
@media (max-width: 992px) {
:host(.menu-opened) {
pointer-events: auto;
z-index: 500;
}
}
@media (min-width: 992px) {
:host(.menu-persistent) {
pointer-events: auto;
position: static;
width: 272px;
height: auto;
border-right: 1px solid var(--tds-sidebar-side-menu-bottom-menu-border-top);
}
:host(.menu-persistent) .wrapper slot[name=overlay]::slotted(tds-side-menu-overlay) {
display: none;
}
:host(.menu-persistent) .wrapper slot[name=close-button]::slotted(tds-side-menu-close-button) {
display: none;
}
:host(.menu-persistent) .menu {
width: 272px;
}
:host(.menu-persistent) .state-closed {
display: block;
}
:host(.menu-persistent):host(.menu-collapsed) {
width: 69px;
box-sizing: border-box;
}
:host(.menu-persistent):host(.menu-collapsed) .menu {
width: 68px;
}
:host(.menu-persistent) slot[name=end]::slotted(*) {
display: none;
}
}
.menu {
width: 80%;
height: inherit;
position: relative;
left: 0;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.menu * {
padding: 0;
margin: 0;
box-sizing: border-box;
}
@media (max-width: 384px) {
.menu {
width: 100%;
}
}
aside .tds-side-menu-wrapper {
display: flex;
justify-content: space-between;
flex-direction: column;
flex-grow: 1;
background-color: var(--tds-sidebar-side-menu-background-cover);
overflow-y: auto;
}
aside .tds-side-menu-wrapper:hover::-webkit-scrollbar-thumb {
border: var(--tds-scrollbar-thumb-border-hover-width) solid transparent;
background-clip: padding-box;
}
aside .tds-side-menu-wrapper::-webkit-scrollbar {
width: var(--tds-scrollbar-width);
}
aside .tds-side-menu-wrapper::-webkit-scrollbar-track {
background: var(--tds-scrollbar-track-color);
}
aside .tds-side-menu-wrapper::-webkit-scrollbar-thumb {
border-radius: 40px;
background: var(--tds-scrollbar-thumb-color);
border: var(--tds-scrollbar-thumb-border-width) solid transparent;
background-clip: padding-box;
}
aside .tds-side-menu-wrapper::-webkit-scrollbar-button {
height: 0;
width: 0;
}
@supports not selector(::-webkit-scrollbar) {
aside .tds-side-menu-wrapper {
scrollbar-color: var(--tds-scrollbar-thumb-color) var(--tds-scrollbar-track-color);
scrollbar-width: var(--tds-scrollbar-width-standard);
}
}
aside [role=navigation] {
height: 100%;
display: flex;
flex-direction: column;
}
aside li {
list-style: none;
padding: 0;
margin: 0;
}