//-- Mixins @import "+workloads/workloads-mixins"; @import "+storage/storage-mixins"; @import "+nodes/nodes-mixins"; @import "+namespaces/namespaces-mixins"; @import "table/table.mixins"; @import "+network/network-mixins"; @mixin custom-scrollbar($theme: light, $size: 7px, $borderSpacing: 5px) { $themes: ( light: rgba(255, 255, 255, .25), dark: rgba(0, 0, 0, .25), ); $scrollBarColor: if(map_has_key($themes, $theme), map_get($themes, $theme), none); $scrollBarSize: calc(#{$size} + #{$borderSpacing} * 2); overflow: auto; // allow scrolling for container // Webkit &::-webkit-scrollbar { width: $scrollBarSize; height: $scrollBarSize; background: transparent; } &::-webkit-scrollbar-thumb { background: $scrollBarColor; background-clip: padding-box; border: $borderSpacing solid transparent; border-radius: $scrollBarSize; } &::-webkit-scrollbar-corner { background-color: transparent; } // Firefox scrollbar-color: $scrollBarColor transparent; //scrollbar-width: thin; } // Hide scrollbar but keep the element scrollable @mixin hidden-scrollbar { overflow: auto; // Chrome, Safari &::-webkit-scrollbar { width: 0; height: 0; background: transparent; } scrollbar-width: none; // Firefox 65+ -ms-overflow-style: none; // IE (10,11?), Edge(?) } // Cross-browser hacks @mixin safariOnly { @media not all and (min-resolution: .001dpcm) { @content; } } @mixin firefoxOnly { @-moz-document url-prefix() { @content; } } @mixin edgeOnly { @supports (-ms-accelerator: true) { @content; } } @mixin stripeLinesAnimation($color1: #ccc, $color2: transparent, $spacing: 1rem) { background: repeating-linear-gradient(-45deg, $color2, $color2, $spacing, $color1 $spacing, $color1 $spacing * 2); background-size: 200% 200%; animation: stripeLines 10s linear infinite; @keyframes stripeLines { 100% { background-position: 100% 100%; } } } @mixin pseudo-link($color: $primary) { color: $color; text-decoration: underline; cursor: pointer; }