1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/renderer/components/mixins.scss
2022-02-25 10:20:06 -05:00

74 lines
1.7 KiB
SCSS
Executable File

/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
//-- 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";
// Hide scrollbar but keep the element scrollable
@mixin hidden-scrollbar {
overflow: auto;
// Chrome, Safari
&::-webkit-scrollbar {
width: 0;
height: 0;
background: transparent;
}
}
@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: var(--primary)) {
color: $color;
text-decoration: underline;
cursor: pointer;
}
@mixin set-draggable($is-draggable: true) {
@if ($is-draggable) {
-webkit-user-select: none;
-webkit-app-region: drag;
} @else {
-webkit-app-region: no-drag;
}
}
@mixin theme-light() {
$selector: "theme-light"; // keep in sync with class in `theme.store.ts`
body.#{$selector} {
@content;
}
:global(body.#{$selector}) {
@content; // css-modules (*.module.scss)
}
}
// Makes custom font available at earlier stages (start preloading)
// Element must be in DOM and contain some text of loading font.
@mixin font-preload() {
&:before {
width: 0;
display: block;
overflow: hidden;
content: "x"; // required
@content; // must contain `font-family`
}
}