1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Replacing global themed sass-vars to css-vars (#4322)

* generating css-vars
* convert all global / theme sass vars to css vars with available default theme colors
* added missing colors to dark lens theme
This commit is contained in:
Roman 2021-11-15 17:37:23 +02:00 committed by GitHub
parent 3214d8dfd5
commit 4c83f5becf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
89 changed files with 463 additions and 433 deletions

47
build/build_theme_vars.ts Normal file
View File

@ -0,0 +1,47 @@
/**
* Copyright (c) 2021 OpenLens Authors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
import fs from "fs-extra";
import path from "path";
import defaultBaseLensTheme from "../src/renderer/themes/lens-dark.json";
const outputCssFile = path.resolve("src/renderer/themes/theme-vars.css");
const banner = `/*
Generated Lens theme CSS-variables, don't edit manually.
To refresh file run $: yarn run ts-node build/${path.basename(__filename)}
*/`;
const themeCssVars = Object.entries(defaultBaseLensTheme.colors)
.map(([varName, value]) => `--${varName}: ${value};`);
const content = `
${banner}
:root {
${themeCssVars.join("\n")}
}
`;
// Run
console.info(`"Saving default Lens theme css-variables to "${outputCssFile}""`);
fs.ensureFileSync(outputCssFile);
fs.writeFile(outputCssFile, content);

View File

@ -35,6 +35,7 @@
"download:kubectl": "yarn run ts-node build/download_kubectl.ts", "download:kubectl": "yarn run ts-node build/download_kubectl.ts",
"download:helm": "yarn run ts-node build/download_helm.ts", "download:helm": "yarn run ts-node build/download_helm.ts",
"build:tray-icons": "yarn run ts-node build/build_tray_icon.ts", "build:tray-icons": "yarn run ts-node build/build_tray_icon.ts",
"build:theme-vars": "yarn run ts-node build/build_theme_vars.ts",
"lint": "PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .", "lint": "PROD=true yarn run eslint --ext js,ts,tsx --max-warnings=0 .",
"lint:fix": "yarn run lint --fix", "lint:fix": "yarn run lint --fix",
"mkdocs-serve-local": "docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest", "mkdocs-serve-local": "docker build -t mkdocs-serve-local:latest mkdocs/ && docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-serve-local:latest",

View File

@ -22,7 +22,7 @@
.HelmChartDetails { .HelmChartDetails {
.intro-logo { .intro-logo {
margin-right: $margin * 2; margin-right: $margin * 2;
background: $helmLogoBackground; background: var(--helmLogoBackground);
border-radius: $radius; border-radius: $radius;
max-width: 150px; max-width: 150px;
max-height: 100px; max-height: 100px;
@ -39,7 +39,7 @@
.intro-contents { .intro-contents {
.description { .description {
font-weight: bold; font-weight: bold;
color: $textColorAccent; color: var(--textColorAccent);
padding-bottom: $padding; padding-bottom: $padding;
.Button { .Button {

View File

@ -48,7 +48,7 @@
width: $iconSize; width: $iconSize;
height: $iconSize; height: $iconSize;
border-radius: 50%; border-radius: 50%;
background: $helmImgBackground url(helm-placeholder.svg) center center no-repeat; background: var(--helmImgBackground) url(helm-placeholder.svg) center center no-repeat;
background-size: 72%; // bg size looks same as image on top of it background-size: 72%; // bg size looks same as image on top of it
margin: auto; margin: auto;
@ -58,7 +58,7 @@
height: inherit; height: inherit;
visibility: hidden; visibility: hidden;
border-radius: inherit; border-radius: inherit;
background-color: $helmImgBackground; background-color: var(--helmImgBackground);
padding: $padding * 0.5; padding: $padding * 0.5;
&.visible { &.visible {
@ -74,11 +74,11 @@
&.repository { &.repository {
&.stable { &.stable {
color: $helmStableRepo; color: var(--helmStableRepo);
} }
&.incubator { &.incubator {
color: $helmIncubatorRepo; color: var(--helmIncubatorRepo);
} }
} }
} }

View File

@ -20,12 +20,12 @@
*/ */
$release-status-color-list: ( $release-status-color-list: (
deployed: $colorSuccess, deployed: var(--colorSuccess),
failed: $colorError, failed: var(--colorError),
deleting: $colorWarning, deleting: var(--colorWarning),
pendingInstall: $colorInfo, pendingInstall: var(--colorInfo),
pendingUpgrade: $colorInfo, pendingUpgrade: var(--colorInfo),
pendingRollback: $colorInfo, pendingRollback: var(--colorInfo),
); );
@mixin release-status-bgs { @mixin release-status-bgs {

View File

@ -32,7 +32,7 @@
margin-left: $margin; margin-left: $margin;
&.new-version { &.new-version {
color: $colorInfo; color: var(--colorInfo);
} }
} }
} }

View File

@ -20,9 +20,9 @@
*/ */
$hpa-status-colors: ( $hpa-status-colors: (
abletoscale: $colorOk, abletoscale: var(--colorOk),
scalingactive: $colorInfo, scalingactive: var(--colorInfo),
scalinglimited: $colorSoftError, scalinglimited: var(--colorSoftError),
); );
@mixin hpa-status-bgc { @mixin hpa-status-bgc {

View File

@ -24,7 +24,7 @@
margin-bottom: $margin * 2; margin-bottom: $margin * 2;
.name { .name {
color: $textColorSecondary; color: var(--textColorSecondary);
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
padding-bottom: $padding * 0.5; padding-bottom: $padding * 0.5;
} }

View File

@ -33,14 +33,14 @@
.quota { .quota {
--flex-gap: #{$padding}; --flex-gap: #{$padding};
border: 1px solid $halfGray; border: 1px solid var(--halfGray);
border-radius: $radius; border-radius: $radius;
margin: $margin * 0.5; margin: $margin * 0.5;
padding: $padding * 0.5 $padding; padding: $padding * 0.5 $padding;
transition: all 150ms ease; transition: all 150ms ease;
&:hover { &:hover {
box-shadow: inset 0 0 0 1px $borderColor; box-shadow: inset 0 0 0 1px var(--borderColor);
} }
.name { .name {
@ -48,7 +48,7 @@
} }
.value { .value {
color: $contentColor; color: var(--contentColor);
} }
.Icon:hover { .Icon:hover {

View File

@ -30,7 +30,7 @@
.LineProgress { .LineProgress {
margin-top: 3px; margin-top: 3px;
width: 100%; width: 100%;
color: $colorInfo; color: var(--colorInfo);
} }
} }
} }

View File

@ -24,7 +24,7 @@
margin-bottom: $margin * 2; margin-bottom: $margin * 2;
.name { .name {
color: $textColorSecondary; color: var(--textColorSecondary);
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
padding-bottom: $padding * 0.5; padding-bottom: $padding * 0.5;
} }

View File

@ -23,7 +23,7 @@
.status { .status {
.ready { .ready {
color: white; color: white;
background-color: $colorOk; background-color: var(--colorOk);
} }
} }
} }

View File

@ -21,11 +21,11 @@
// CRD conditions from here https://github.com/kubernetes/apiextensions-apiserver/blob/master/pkg/apis/apiextensions/types.go // CRD conditions from here https://github.com/kubernetes/apiextensions-apiserver/blob/master/pkg/apis/apiextensions/types.go
$crd-condition-colors: ( $crd-condition-colors: (
Established: $colorSuccess, Established: var(--colorSuccess),
NamesAccepted: $colorOk, NamesAccepted: var(--colorOk),
NonStructuralSchema: $colorError, NonStructuralSchema: var(--colorError),
Terminating: $colorTerminated, Terminating: var(--colorTerminated),
KubernetesAPIApprovalPolicyConformant: $colorWarning KubernetesAPIApprovalPolicyConformant: var(--colorWarning)
); );
@mixin crd-condition-bgc { @mixin crd-condition-bgc {

View File

@ -22,7 +22,7 @@
.EventDetails { .EventDetails {
.type { .type {
.warning { .warning {
color: $colorError; color: var(--colorError);
} }
} }
} }

View File

@ -26,7 +26,7 @@
flex-grow: 3; flex-grow: 3;
&.warning { &.warning {
color: $colorError; color: var(--colorError);
} }
} }

View File

@ -34,7 +34,7 @@
word-break: break-word; word-break: break-word;
&.warning { &.warning {
color: $colorError; color: var(--colorError);
} }
} }
} }

View File

@ -21,7 +21,7 @@
.KubeEventIcon { .KubeEventIcon {
&.warning { &.warning {
color: $golden; color: var(--golden);
} }
} }

View File

@ -22,9 +22,9 @@
@mixin namespaceStatus { @mixin namespaceStatus {
&.active { &.active {
color: $colorOk; color: var(--colorOk);
} }
&.terminating { &.terminating {
color: $colorError; color: var(--colorError);
} }
} }

View File

@ -20,7 +20,7 @@
*/ */
.IngressDetails { .IngressDetails {
--titles-color: #{$textColorSecondary}; --titles-color: var(--textColorSecondary);
.rules { .rules {
margin-bottom: $margin * 2 margin-bottom: $margin * 2

View File

@ -31,7 +31,7 @@
span { span {
cursor: pointer; cursor: pointer;
color: $primary; color: var(--primary);
text-decoration: underline; text-decoration: underline;
padding-right: 1em; padding-right: 1em;
} }

View File

@ -20,8 +20,8 @@
*/ */
$service-status-color-list: ( $service-status-color-list: (
active: $colorOk, active: var(--colorOk),
pending: $colorWarning pending: var(--colorWarning)
); );
@mixin service-status-colors { @mixin service-status-colors {
@ -33,7 +33,7 @@ $service-status-color-list: (
} }
$port-forward-status-color-list: ( $port-forward-status-color-list: (
active: $colorOk, active: var(--colorOk),
); );
@mixin port-forward-status-colors { @mixin port-forward-status-colors {

View File

@ -20,8 +20,8 @@
*/ */
.NodeDetails { .NodeDetails {
--status-ready-bg: #{$colorOk}; --status-ready-bg: var(--colorOk);
--status-default-bg: #{$colorError}; --status-default-bg: var(--colorError);
.conditions { .conditions {
@include node-status-bgs; @include node-status-bgs;

View File

@ -28,7 +28,7 @@ $node-status-color-list: (
ready: #4caf50, ready: #4caf50,
scheduling-disabled: #ff9800, scheduling-disabled: #ff9800,
invalid-license: #ce3933, invalid-license: #ce3933,
cordoned: $colorWarning cordoned: var(--colorWarning)
); );
@mixin node-status-bgs { @mixin node-status-bgs {

View File

@ -37,7 +37,7 @@
align-self: center; align-self: center;
.LineProgress { .LineProgress {
color: $lensBlue; color: var(--blue);
} }
} }
@ -46,7 +46,7 @@
align-self: center; align-self: center;
.LineProgress { .LineProgress {
color: $lensMagenta; color: var(--magenta);
} }
} }
@ -55,7 +55,7 @@
align-self: center; align-self: center;
.LineProgress { .LineProgress {
color: $golden; color: var(--golden);
} }
} }

View File

@ -20,15 +20,15 @@
*/ */
// PersistentVolumes // PersistentVolumes
$pv-bound: $colorOk; $pv-bound: var(--colorOk);
$pv-available: $colorSuccess; $pv-available: var(--colorSuccess);
$pv-released: $colorWarning; $pv-released: var(--colorWarning);
$pv-failed: $colorError; $pv-failed: var(--colorError);
// PersistentVolumeClaims // PersistentVolumeClaims
$pvc-bound: $colorOk; $pvc-bound: var(--colorOk);
$pvc-pending: $colorWarning; $pvc-pending: var(--colorWarning);
$pvc-lost: $colorError; $pvc-lost: var(--colorError);
// PersistentVolume Statuses // PersistentVolume Statuses
$pv-status-color-list: ( $pv-status-color-list: (

View File

@ -25,12 +25,12 @@
grid-template-columns: min-content auto; grid-template-columns: min-content auto;
gap: $margin; gap: $margin;
border: 1px solid $borderColor; border: 1px solid var(--borderColor);
border-radius: $radius; border-radius: $radius;
padding: $padding * 1.5; padding: $padding * 1.5;
> .name { > .name {
color: $textColorSecondary; color: var(--textColorSecondary);
text-align: right; text-align: right;
white-space: nowrap; white-space: nowrap;
} }

View File

@ -4,12 +4,12 @@
grid-template-columns: min-content auto; grid-template-columns: min-content auto;
gap: $margin; gap: $margin;
border: 1px solid $borderColor; border: 1px solid var(--borderColor);
border-radius: $radius; border-radius: $radius;
padding: $padding * 1.5; padding: $padding * 1.5;
> .name { > .name {
color: $textColorSecondary; color: var(--textColorSecondary);
text-align: right; text-align: right;
white-space: nowrap; white-space: nowrap;
} }

View File

@ -30,7 +30,7 @@
.secret-row { .secret-row {
display: flex; display: flex;
border-bottom: 1px solid $borderFaintColor; border-bottom: 1px solid var(--borderFaintColor);
padding: $padding 0; padding: $padding 0;
&:first-child { &:first-child {
@ -40,12 +40,12 @@
.name { .name {
flex-basis: 23%; flex-basis: 23%;
color: $drawerItemNameColor; color: var(--drawerItemNameColor);
} }
.value { .value {
flex-basis: 76%; flex-basis: 76%;
color: $drawerItemValueColor; color: var(--drawerItemValueColor);
word-break: break-all; word-break: break-all;
&:empty:after { &:empty:after {

View File

@ -27,7 +27,7 @@
margin-bottom: $margin; margin-bottom: $margin;
a { a {
color: $colorInfo; color: var(--colorInfo);
} }
} }
} }

View File

@ -56,7 +56,7 @@
} }
.warning { .warning {
color: $colorSoftError; color: var(--colorSoftError);
font-size: small; font-size: small;
display: flex; display: flex;
align-items: center; align-items: center;

View File

@ -23,14 +23,14 @@
position: relative; position: relative;
width: 100%; width: 100%;
min-width: $unit * 75; min-width: $unit * 75;
background: $contentColor; background: var(--contentColor);
> .header { > .header {
position: relative; position: relative;
padding: $padding * 2; padding: $padding * 2;
h5 { h5 {
color: $textColorPrimary; color: var(--textColorPrimary);
} }
} }
@ -49,7 +49,7 @@
text-align: center; text-align: center;
a { a {
color: $colorInfo; color: var(--colorInfo);
} }
} }
} }

View File

@ -35,7 +35,7 @@
} }
.var-name { .var-name {
color: $textColorPrimary color: var(--textColorPrimary)
} }
} }
} }

View File

@ -31,7 +31,7 @@
span { span {
cursor: pointer; cursor: pointer;
color: $primary; color: var(--primary);
text-decoration: underline; text-decoration: underline;
position: relative; position: relative;
padding-right: 1em; padding-right: 1em;

View File

@ -30,8 +30,8 @@
display: block; display: block;
font-family: $font-monospace; font-family: $font-monospace;
font-size: 90%; font-size: 90%;
background: $colorVague; background: var(--colorVague);
color: $textColorSecondary; color: var(--textColorSecondary);
border-radius: $radius; border-radius: $radius;
padding: .2em .4em; padding: .2em .4em;
margin-top: $margin; margin-top: $margin;
@ -42,7 +42,7 @@
margin-bottom: $margin; margin-bottom: $margin;
.StatusBrick { .StatusBrick {
background: $colorTerminated; background: var(--colorTerminated);
margin-right: $margin; margin-right: $margin;
@include pod-status-bgs; @include pod-status-bgs;
@ -54,7 +54,7 @@
} }
.status { .status {
color: $colorTerminated; color: var(--colorTerminated);
@include pod-status-colors; @include pod-status-colors;
} }

View File

@ -55,7 +55,7 @@
align-self: center; align-self: center;
.LineProgress { .LineProgress {
color: $lensBlue; color: var(--blue);
} }
} }
@ -63,7 +63,7 @@
align-self: center; align-self: center;
.LineProgress { .LineProgress {
color: $lensMagenta; color: var(--magenta);
} }
} }

View File

@ -56,7 +56,7 @@
} }
.warning { .warning {
color: $colorSoftError; color: var(--colorSoftError);
font-size: small; font-size: small;
display: flex; display: flex;
align-items: center; align-items: center;

View File

@ -56,7 +56,7 @@
} }
.warning { .warning {
color: $colorSoftError; color: var(--colorSoftError);
font-size: small; font-size: small;
display: flex; display: flex;
align-items: center; align-items: center;

View File

@ -20,36 +20,36 @@
*/ */
// Pods // Pods
$pod-status-running-color: $colorOk; $pod-status-running-color: var(--colorOk);
$pod-status-pending-color: $colorWarning; $pod-status-pending-color: var(--colorWarning);
$pod-status-evicted-color: $colorError; $pod-status-evicted-color: var(--colorError);
$pod-status-succeeded-color: $colorSuccess; $pod-status-succeeded-color: var(--colorSuccess);
$pod-status-failed-color: $colorError; $pod-status-failed-color: var(--colorError);
$pod-status-terminated-color: $colorTerminated; $pod-status-terminated-color: var(--colorTerminated);
$pod-status-terminating-color: $colorTerminated; $pod-status-terminating-color: var(--colorTerminated);
$pod-status-unknown-color: $colorVague; $pod-status-unknown-color: var(--colorVague);
$pod-status-complete-color: $colorSuccess; $pod-status-complete-color: var(--colorSuccess);
$pod-status-crash-loop-color: $colorError; $pod-status-crash-loop-color: var(--colorError);
$pod-scheduled: $colorOk; $pod-scheduled: var(--colorOk);
$pod-ready: $colorOk; $pod-ready: var(--colorOk);
$pod-initialized: $colorOk; $pod-initialized: var(--colorOk);
$pod-unschedulable: $colorError; $pod-unschedulable: var(--colorError);
$pod-containers-ready: $colorInfo; $pod-containers-ready: var(--colorInfo);
$pod-error: $colorError; $pod-error: var(--colorError);
$pod-container-creating: $colorInfo; $pod-container-creating: var(--colorInfo);
// Deployments // Deployments
$deployment-available: $colorOk; $deployment-available: var(--colorOk);
$deployment-progressing: $colorInfo; $deployment-progressing: var(--colorInfo);
$deployment-replicafailure: $colorError; $deployment-replicafailure: var(--colorError);
// Jobs // Jobs
$job-complete: $colorSuccess; $job-complete: var(--colorSuccess);
$job-failed: $colorError; $job-failed: var(--colorError);
// Cronjob // Cronjob
$cronjob-scheduled: $colorSuccess; $cronjob-scheduled: var(--colorSuccess);
$cronjob-suspended: $colorTerminated; $cronjob-suspended: var(--colorTerminated);
// Pod Statuses // Pod Statuses
$pod-status-color-list: ( $pod-status-color-list: (

View File

@ -29,8 +29,8 @@
.Button { .Button {
&.remove-button { &.remove-button {
background-color: $borderFaintColor; background-color: var(--borderFaintColor);
color: $textColorPrimary; color: var(--textColorPrimary);
} }
} }
} }

View File

@ -22,6 +22,7 @@
@import "tailwindcss/utilities"; @import "tailwindcss/utilities";
@import "~flex.box"; @import "~flex.box";
@import "fonts"; @import "fonts";
@import "../themes/theme-vars";
:root { :root {
--unit: 8px; --unit: 8px;
@ -67,18 +68,18 @@
} }
::selection { ::selection {
background: $primary; background: var(--primary);
color: white; color: white;
} }
*:target { *:target {
color: $textColorAccent; color: var(--textColorAccent);
} }
html { html {
font-size: 62.5%; // 1 rem == 10px font-size: 62.5%; // 1 rem == 10px
color: $textColorPrimary; color: var(--textColorPrimary);
background-color: $mainBackground; background-color: var(--mainBackground);
--flex-gap: #{$padding}; --flex-gap: #{$padding};
} }
@ -118,7 +119,7 @@ fieldset {
} }
label { label {
color: $textColorSecondary; color: var(--textColorSecondary);
} }
ol, ul { ol, ul {
@ -127,7 +128,7 @@ ol, ul {
} }
h1 { h1 {
color: $textColorPrimary; color: var(--textColorPrimary);
font-size: 28px; font-size: 28px;
font-weight: normal; font-weight: normal;
letter-spacing: -.010em; letter-spacing: -.010em;
@ -198,27 +199,27 @@ a {
// colors // colors
.success { .success {
color: $colorSuccess; color: var(--colorSuccess);
} }
.info { .info {
color: $colorInfo; color: var(--colorInfo);
} }
.error { .error {
color: $colorError; color: var(--colorError);
} }
.warning { .warning {
color: $colorWarning; color: var(--colorWarning);
} }
.contrast { .contrast {
color: $textColorAccent; color: var(--textColorAccent);
} }
.text-secondary { .text-secondary {
color: $textColorSecondary; color: var(--textColorSecondary);
} }
.nobr { .nobr {

View File

@ -29,7 +29,7 @@
text-decoration: none; text-decoration: none;
cursor: pointer; cursor: pointer;
border-radius: $radius; border-radius: $radius;
background: $buttonDefaultBackground; background: var(--buttonDefaultBackground);
padding: round($padding * .9) $padding * 1.5; padding: round($padding * .9) $padding * 1.5;
flex-shrink: 0; flex-shrink: 0;
line-height: 1; line-height: 1;
@ -41,15 +41,15 @@
} }
&.primary { &.primary {
background: $buttonPrimaryBackground; background: var(--buttonPrimaryBackground);
} }
&.accent { &.accent {
background: $buttonAccentBackground; background: var(--buttonAccentBackground);
} }
&.light { &.light {
background-color: $buttonLightBackground; background-color: var(--buttonLightBackground);
color: #505050; color: #505050;
} }
@ -65,7 +65,7 @@
&.active, &.active,
&:focus:not(:active) { &:focus:not(:active) {
color: $buttonPrimaryBackground; color: var(--buttonPrimaryBackground);
box-shadow: 0 0 0 1px inset; box-shadow: 0 0 0 1px inset;
} }
} }

View File

@ -35,7 +35,7 @@
white-space: normal; white-space: normal;
&:hover { &:hover {
background: $colorVague; background: var(--colorVague);
cursor: default; cursor: default;
} }
} }

View File

@ -21,9 +21,9 @@
.Checkbox { .Checkbox {
--checkbox-color: #{$textColorPrimary}; // tick color [] --checkbox-color: var(--textColorPrimary); // tick color []
--checkbox-color-active: #{$contentColor}; --checkbox-color-active: var(--contentColor);
--checkbox-bgc-active: #{$lensBlue}; --checkbox-bgc-active: var(--blue);
flex-shrink: 0; flex-shrink: 0;
@ -32,7 +32,7 @@
// default // default
} }
&-light { &-light {
--checkbox-color-active: #{$lensBlue}; --checkbox-color-active: var(--blue);
--checkbox-bgc-active: none; --checkbox-bgc-active: none;
} }
} }

View File

@ -53,7 +53,7 @@
right: 0; right: 0;
bottom: 0; bottom: 0;
display: flex; display: flex;
background-color: $mainBackground; background-color: var(--mainBackground);
iframe { iframe {
flex: 1; flex: 1;

View File

@ -25,7 +25,7 @@
&.warning { &.warning {
.Button.ok { .Button.ok {
background: $colorSoftError; background: var(--colorSoftError);
} }
} }
@ -46,7 +46,7 @@
> .Icon { > .Icon {
margin-left: inherit; margin-left: inherit;
margin-right: $margin * 2; margin-right: $margin * 2;
color: $colorSoftError; color: var(--colorSoftError);
} }
> :not(.Icon) { > :not(.Icon) {

View File

@ -20,10 +20,8 @@
*/ */
.Dock { .Dock {
$borderColor: $borderColor;
position: relative; position: relative;
background: $dockHeadBackground; background: var(--dockHeadBackground);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -62,7 +60,7 @@
.tabs-container { .tabs-container {
padding: 0 $padding * 2; padding: 0 $padding * 2;
border-top: 1px solid $borderColor; border-top: 1px solid var(--borderColor);
flex-shrink: 0; flex-shrink: 0;
.Tabs:empty + .toolbar { .Tabs:empty + .toolbar {
@ -78,7 +76,7 @@
.tab-content { .tab-content {
position: relative; position: relative;
background: $terminalBackground; background: var(--terminalBackground);
flex: 1; flex: 1;
overflow: hidden; overflow: hidden;
transition: flex-basis 25ms ease-in; transition: flex-basis 25ms ease-in;

View File

@ -22,6 +22,6 @@
.LogControls { .LogControls {
@include hidden-scrollbar; @include hidden-scrollbar;
background: $dockInfoBackground; background: var(--dockInfoBackground);
padding: $padding $padding * 2; padding: $padding $padding * 2;
} }

View File

@ -24,18 +24,18 @@
display: grid; display: grid;
grid-template-columns: minmax(var(--drawer-item-title-width), min-content) auto; grid-template-columns: minmax(var(--drawer-item-title-width), min-content) auto;
border-bottom: 1px solid $borderFaintColor; border-bottom: 1px solid var(--borderFaintColor);
padding: $padding 0; padding: $padding 0;
> .name { > .name {
padding-right: $padding; padding-right: $padding;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
color: $drawerItemNameColor; color: var(--drawerItemNameColor);
} }
> .value { > .value {
color: $drawerItemValueColor; color: var(--drawerItemValueColor);
word-break: break-word; word-break: break-word;
max-width: 100%; max-width: 100%;
min-width: 0; min-width: 0;
@ -53,7 +53,7 @@
} }
a { a {
color: $primary; color: var(--primary);
} }
} }

View File

@ -28,7 +28,7 @@
cursor: pointer; cursor: pointer;
.param-link-text { .param-link-text {
color: $lensBlue; color: var(--blue);
text-decoration: underline; text-decoration: underline;
} }
} }

View File

@ -22,5 +22,5 @@
.DrawerTitle { .DrawerTitle {
padding: $padding * 1.5 $padding * 3; padding: $padding * 1.5 $padding * 3;
margin: $margin * 3 (-$margin * 3); margin: $margin * 3 (-$margin * 3);
background: $drawerSubtitleBackground; background: var(--drawerSubtitleBackground);
} }

View File

@ -27,8 +27,8 @@
--icon-focus-color: white; --icon-focus-color: white;
position: absolute; position: absolute;
background: $contentColor; background: var(--contentColor);
box-shadow: 0 0 $unit * 2 $boxShadow; box-shadow: 0 0 $unit * 2 var(--boxShadow);
z-index: $zIndex-drawer; z-index: $zIndex-drawer;
height: 100%; height: 100%;
@ -67,8 +67,8 @@
} }
.drawer-title { .drawer-title {
background: $lensBlue; background: var(--blue);
color: $drawerTitleText; color: var(--drawerTitleText);
padding: $padding $padding * 2.5; padding: $padding $padding * 2.5;
word-break: break-all; word-break: break-all;
position: relative; position: relative;
@ -92,7 +92,7 @@
} }
.MenuActions.toolbar .Icon { .MenuActions.toolbar .Icon {
color: $drawerTitleText; color: var(--drawerTitleText);
} }
.Menu { .Menu {
@ -105,7 +105,7 @@
padding: var(--spacing); padding: var(--spacing);
.Table .TableHead { .Table .TableHead {
border-bottom: 1px solid $borderFaintColor; border-bottom: 1px solid var(--borderFaintColor);
} }
} }

View File

@ -25,7 +25,7 @@
.el-contents { .el-contents {
display: flex; display: flex;
background-color: var(--colorVague); background-color: var(--colorVague);
color: $textColorSecondary; color: var(--textColorSecondary);
border-radius: $radius; border-radius: $radius;
flex-direction: column; flex-direction: column;

View File

@ -38,10 +38,10 @@
code { code {
max-height: none; max-height: none;
border: 5px solid $borderFaintColor; border: 5px solid var(--borderFaintColor);
white-space: pre-wrap; white-space: pre-wrap;
background: $contentColor; background: var(--contentColor);
color: $textColorSecondary; color: var(--textColorSecondary);
} }
a { a {

View File

@ -24,7 +24,7 @@
position: relative; position: relative;
text-align: center; text-align: center;
background: $clusterMenuBackground; background: var(--clusterMenuBackground);
padding-top: 1px; padding-top: 1px;
width: var(--hotbar-width); width: var(--hotbar-width);
overflow: hidden; overflow: hidden;

View File

@ -24,9 +24,9 @@
--small-size: 18px; --small-size: 18px;
--smallest-size: 16px; --smallest-size: 16px;
--big-size: 32px; --big-size: 32px;
--color-active: #{$iconActiveColor}; --color-active: var(--iconActiveColor);
--bgc-active: #{$iconActiveBackground}; --bgc-active: var(--iconActiveBackground);
--focus-color: var(--icon-focus-color, #{$lensBlue}); --focus-color: var(--icon-focus-color, var(--blue));
display: inline-flex; display: inline-flex;
flex-shrink: 0; flex-shrink: 0;
@ -119,8 +119,8 @@
} }
&.sticker { &.sticker {
background: $colorOk; background: var(--colorOk);
color: $textColorAccent; color: var(--textColorAccent);
border-radius: 50%; border-radius: 50%;
box-sizing: content-box; box-sizing: content-box;
padding: $padding * 0.5; padding: $padding * 0.5;
@ -128,8 +128,8 @@
&.active { &.active {
color: var(--color-active); color: var(--color-active);
box-shadow: 0 0 0 2px $iconActiveBackground; box-shadow: 0 0 0 2px var(--iconActiveBackground);
background-color: $iconActiveBackground; background-color: var(--iconActiveBackground);
} }
&.interactive { &.interactive {
@ -144,7 +144,7 @@
box-shadow: none; box-shadow: none;
&.active { &.active {
box-shadow: 0 0 0 2px $iconActiveBackground; box-shadow: 0 0 0 2px var(--iconActiveBackground);
} }
} }
} }

View File

@ -21,7 +21,7 @@
.DropFileInput { .DropFileInput {
&.droppable { &.droppable {
box-shadow: inset 0 0 0 6px $primary; box-shadow: inset 0 0 0 6px var(--primary);
transition: all 0.3s; transition: all 0.3s;
} }
} }

View File

@ -27,7 +27,7 @@
&.invalid.dirty:not(.validating) { &.invalid.dirty:not(.validating) {
label:after { label:after {
width: 100%; width: 100%;
background: $colorError; background: var(--colorError);
} }
} }
@ -48,7 +48,7 @@
--flex-gap: $padding * 0.6667; --flex-gap: $padding * 0.6667;
position: relative; position: relative;
padding: $padding * 0.75 0; padding: $padding * 0.75 0;
border-bottom: 1px solid $halfGray; border-bottom: 1px solid var(--halfGray);
line-height: 1; line-height: 1;
&:after { &:after {
@ -59,7 +59,7 @@
transform: translateX(-50%); transform: translateX(-50%);
width: 0; width: 0;
height: 2px; height: 2px;
background: $primary; background: var(--primary);
} }
} }
@ -115,17 +115,17 @@
&.round { &.round {
&.invalid.dirty { &.invalid.dirty {
label { label {
border-color: $colorSoftError; border-color: var(--colorSoftError);
} }
} }
label { label {
border-radius: $radius; border-radius: $radius;
border: 1px solid $halfGray; border: 1px solid var(--halfGray);
color: inherit; color: inherit;
padding: $padding * 0.25 * 3 $padding * 0.25 * 3; padding: $padding * 0.25 * 3 $padding * 0.25 * 3;
&:focus-within { &:focus-within {
border-color: $colorInfo; border-color: var(--colorInfo);
} }
&:after { &:after {
@ -145,7 +145,7 @@
} }
&:focus-within { &:focus-within {
border-color: $colorInfo; border-color: var(--colorInfo);
} }
} }
} }
@ -154,7 +154,7 @@
} }
.Tooltip.InputTooltipError { .Tooltip.InputTooltipError {
--bgc: #{$colorError}; --bgc: var(--colorError);
--border: none; --border: none;
--color: white; --color: white;
} }

View File

@ -20,7 +20,7 @@
*/ */
.ItemListLayout { .ItemListLayout {
background: $contentColor; background: var(--contentColor);
height: 100%; height: 100%;
> .header { > .header {

View File

@ -20,12 +20,12 @@
*/ */
.PageFiltersList { .PageFiltersList {
$bgc: $filterAreaBackground; $bgc: var(--filterAreaBackground);
$spacing: $padding * 1.5; $spacing: $padding * 1.5;
position: relative; position: relative;
top: 1px; top: 1px;
border-top: 1px solid $borderFaintColor; border-top: 1px solid var(--borderFaintColor);
background: $bgc; background: $bgc;
padding: $spacing $padding * 2; padding: $spacing $padding * 2;
font-size: $font-size-small; font-size: $font-size-small;
@ -36,7 +36,7 @@
} }
&:not(:empty) { &:not(:empty) {
border-bottom: 1px solid $borderFaintColor; border-bottom: 1px solid var(--borderFaintColor);
} }
> .header { > .header {

View File

@ -21,7 +21,7 @@
.KubeObjectStatusIcon { .KubeObjectStatusIcon {
&.warning { &.warning {
color: $golden; color: var(--golden);
} }
} }
@ -32,7 +32,7 @@
padding: 4px; padding: 4px;
&:not(:only-child):not(:last-child) { &:not(:only-child):not(:last-child) {
border-bottom: 1px solid $borderFaintColor; border-bottom: 1px solid var(--borderFaintColor);
} }
.title { .title {
@ -47,7 +47,7 @@
} }
.age { .age {
color: $halfGray; color: var(--halfGray);
} }
} }
} }

View File

@ -42,8 +42,8 @@
} }
&.active, &:hover { &.active, &:hover {
background: $lensBlue; background: var(--blue);
color: $sidebarActiveColor; color: var(--sidebarActiveColor);
} }
.expand-icon { .expand-icon {
@ -56,11 +56,11 @@
border-left: $borderSize solid transparent; border-left: $borderSize solid transparent;
&.active { &.active {
border-left-color: $lensBlue; border-left-color: var(--blue);
} }
> .SidebarItem { > .SidebarItem {
color: $textColorPrimary; color: var(--textColorPrimary);
padding-left: 30px + $borderSize; padding-left: 30px + $borderSize;
line-height: 22px; line-height: 22px;
@ -74,7 +74,7 @@
} }
&.active, &:hover { &.active, &:hover {
color: $sidebarSubmenuActiveColor; color: var(--sidebarSubmenuActiveColor);
background: none; background: none;
} }
} }

View File

@ -20,7 +20,7 @@
*/ */
.SubHeader { .SubHeader {
color: $textColorAccent; color: var(--textColorAccent);
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
text-align: center; text-align: center;
@ -29,6 +29,6 @@
} }
&.withLine { &.withLine {
border-bottom: 1px solid $borderColor; border-bottom: 1px solid var(--borderColor);
} }
} }

View File

@ -26,7 +26,7 @@
height: 100%; height: 100%;
> .Tabs { > .Tabs {
background: $layoutTabsBackground; background: var(--layoutTabsBackground);
min-height: 32px; min-height: 32px;
} }

View File

@ -38,12 +38,12 @@
> .head-col { > .head-col {
position: sticky; position: sticky;
justify-content: space-between; justify-content: space-between;
background-color: $clusterMenuBackground; background-color: var(--clusterMenuBackground);
} }
> .content-col { > .content-col {
margin-right: $spacing; margin-right: $spacing;
background-color: $contentColor; background-color: var(--contentColor);
border-radius: $radius; border-radius: $radius;
> div { > div {
@ -58,7 +58,7 @@
} }
> .info-col { > .info-col {
background-color: $contentColor; background-color: var(--contentColor);
} }
p { p {
@ -66,7 +66,7 @@
} }
a { a {
color: $colorInfo; color: var(--colorInfo);
} }
&.centered { &.centered {

View File

@ -23,7 +23,7 @@
.LineProgress { .LineProgress {
position: relative; position: relative;
border-radius: 2px; border-radius: 2px;
background: $lineProgressBackground; background: var(--lineProgressBackground);
height: 3px; height: 3px;
// line indicator // line indicator

View File

@ -377,15 +377,15 @@
height: 0.25em; height: 0.25em;
padding: 0; padding: 0;
margin: 24px 0; margin: 24px 0;
background-color: $helmDescriptionHr; background-color: var(--helmDescriptionHr);
border: 0; border: 0;
} }
blockquote { blockquote {
padding: 8px 1em; padding: 8px 1em;
color: $helmDescriptionBlockquoteColor; color: var(--helmDescriptionBlockquoteColor);
border-left: 0.25em solid $helmDescriptionBlockquoteBorder; border-left: 0.25em solid var(--helmDescriptionBlockquoteBorder);
background: $helmDescriptionBlockquoteBackground; background: var(--helmDescriptionBlockquoteBackground);
} }
blockquote > :first-child { blockquote > :first-child {
@ -455,20 +455,20 @@
padding-bottom: 0.3em; padding-bottom: 0.3em;
font-size: 1.8em; font-size: 1.8em;
font-weight: normal; font-weight: normal;
border-bottom: 1px solid $borderFaintColor; border-bottom: 1px solid var(--borderFaintColor);
} }
h2 { h2 {
padding-bottom: 0.3em; padding-bottom: 0.3em;
font-size: 1.3em; font-size: 1.3em;
font-weight: normal; font-weight: normal;
border-bottom: 1px solid $borderFaintColor; border-bottom: 1px solid var(--borderFaintColor);
} }
h3 { h3 {
font-size: 1.1em; font-size: 1.1em;
font-weight: normal; font-weight: normal;
border-bottom: 1px solid $borderFaintColor; border-bottom: 1px solid var(--borderFaintColor);
padding-bottom: 0.4em; padding-bottom: 0.4em;
} }
@ -482,7 +482,7 @@
h6 { h6 {
font-size: 0.85em; font-size: 0.85em;
color: $helmDescriptionH6; color: var(--helmDescriptionH6);
} }
ul, ul,
@ -542,7 +542,7 @@
th, td { th, td {
padding: 6px 13px; padding: 6px 13px;
border: 1px solid $helmDescriptionTdBorder; border: 1px solid var(--helmDescriptionTdBorder);
text-align: left; text-align: left;
word-break: break-all; word-break: break-all;
hyphens: auto; hyphens: auto;
@ -553,29 +553,29 @@
} }
table tr { table tr {
background-color: $tableBgcStripe; background-color: var(--tableBgcStripe);
} }
table tr:nth-child(2n) { table tr:nth-child(2n) {
background-color: $tableBgcSelected; background-color: var(--tableBgcSelected);
} }
img { img {
max-width: 100%; max-width: 100%;
box-sizing: content-box; box-sizing: content-box;
background-color: $mainBackground; background-color: var(--mainBackground);
} }
code { code {
padding: .15em .35em; padding: .15em .35em;
margin: 0; margin: 0;
font-size: 85%; font-size: 85%;
background-color: $helmDescriptionCodeBackground; background-color: var(--helmDescriptionCodeBackground);
border-radius: 3px; border-radius: 3px;
white-space: normal; white-space: normal;
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
color: $helmDescriptionPreColor; color: var(--helmDescriptionPreColor);
} }
pre > code { pre > code {
@ -602,7 +602,7 @@
padding: 16px; padding: 16px;
font-size: 85%; font-size: 85%;
line-height: 1.45; line-height: 1.45;
background-color: $helmDescriptionPreBackground; background-color: var(--helmDescriptionPreBackground);
border-radius: 3px; border-radius: 3px;
overflow: auto; overflow: auto;
} }
@ -617,7 +617,7 @@
word-wrap: normal; word-wrap: normal;
background-color: transparent; background-color: transparent;
border: 0; border: 0;
color: $helmDescriptionPreColor; color: var(--helmDescriptionPreColor);
} }
pre code::before, pre code::before,

View File

@ -31,7 +31,7 @@
margin-right: var(--flex-gap) !important; margin-right: var(--flex-gap) !important;
.Icon { .Icon {
color: $textColorAccent; color: var(--textColorAccent);
padding-right: 0; padding-right: 0;
} }

View File

@ -20,14 +20,14 @@
*/ */
.Menu { .Menu {
--bgc: #{$layoutBackground}; --bgc: var(--layoutBackground);
position: absolute; position: absolute;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
background: var(--bgc); background: var(--bgc);
list-style: none; list-style: none;
border: 1px solid $borderColor; border: 1px solid var(--borderColor);
z-index: 101; z-index: 101;
box-shadow: rgba(0,0,0,0.24) 0px 8px 16px 0px; box-shadow: rgba(0,0,0,0.24) 0px 8px 16px 0px;
border-radius: 4px; border-radius: 4px;
@ -63,9 +63,9 @@
} }
.MenuItem { .MenuItem {
--color: #{$textColorPrimary}; --color: var(--textColorPrimary);
--color-active: #{$textColorAccent}; --color-active: var(--textColorAccent);
--bgc-active: #{$menuActiveBackground}; --bgc-active: var(--menuActiveBackground);
--spacing: #{$padding}; --spacing: #{$padding};
position: relative; position: relative;
@ -85,7 +85,7 @@
} }
&:focus { &:focus {
outline: 2px solid $colorInfo; outline: 2px solid var(--colorInfo);
} }
&.active { &.active {
@ -103,7 +103,7 @@
padding: 0; padding: 0;
height: 0; height: 0;
overflow: hidden; overflow: hidden;
border-top: 1px solid $contentColor; border-top: 1px solid var(--contentColor);
pointer-events: none; pointer-events: none;
} }

View File

@ -50,7 +50,7 @@
} }
} }
@mixin pseudo-link($color: $primary) { @mixin pseudo-link($color: var(--primary)) {
color: $color; color: $color;
text-decoration: underline; text-decoration: underline;
cursor: pointer; cursor: pointer;

View File

@ -56,11 +56,11 @@
} }
} }
@each $status, $color in (ok: $colorOk, error: $colorError, info: $colorInfo) { @each $status, $color in (ok: var(--colorOk), error: var(--colorError), info: var(--colorInfo)) {
&.#{$status} { &.#{$status} {
background: $color; background: $color;
color: $color-white; color: $color-white;
box-shadow: 0 0 20px $boxShadow; box-shadow: 0 0 20px var(--boxShadow);
} }
} }

View File

@ -30,7 +30,7 @@
.Radio { .Radio {
display: inline-block; display: inline-block;
border: 1px solid $borderFaintColor; border: 1px solid var(--borderFaintColor);
border-radius: $radius; border-radius: $radius;
text-align: center; text-align: center;
padding: round($padding * .7) $padding; padding: round($padding * .7) $padding;
@ -41,21 +41,21 @@
cursor: pointer; cursor: pointer;
&:not(:active):focus { &:not(:active):focus {
position: relative; position: relative;
border-color: $primary; border-color: var(--primary);
box-shadow: inset 0 0 0 1px $primary; box-shadow: inset 0 0 0 1px var(--primary);
} }
} }
&.checked { &.checked {
background-color: $radioActiveBackground; background-color: var(--radioActiveBackground);
color: $textColorAccent; color: var(--textColorAccent);
* { * {
cursor: default; cursor: default;
} }
} }
&:hover { &:hover {
color: $textColorAccent color: var(--textColorAccent)
} }
+ .Radio { + .Radio {
@ -76,9 +76,9 @@
.Radio { .Radio {
$tickSize: round(1.8 * $unit); $tickSize: round(1.8 * $unit);
$tickColor: currentColor; $tickColor: currentColor;
$tickColorActive: $colorInfo; $tickColorActive: var(--colorInfo);
$tickColorFocus: $colorInfo; $tickColorFocus: var(--colorInfo);
$labelColorActive: $textColorAccent; $labelColorActive: var(--textColorAccent);
input[type="radio"] { input[type="radio"] {
display: none; display: none;

View File

@ -23,13 +23,13 @@
// Docs: https://react-select.com/styles // Docs: https://react-select.com/styles
html { html {
$menuBackgroundColor: $contentColor; $menuBackgroundColor: var(--contentColor);
--select-menu-bgc: #{$menuBackgroundColor}; --select-menu-bgc: #{$menuBackgroundColor};
--select-menu-border-color: #{$halfGray}; --select-menu-border-color: var(--halfGray);
--select-option-selected-color: #{$inputOptionHoverColor}; --select-option-selected-color: var(--inputOptionHoverColor);
--select-option-focused-bgc: #{$colorInfo}; --select-option-focused-bgc: var(--colorInfo);
--select-option-focused-color: #{$textColorAccent}; --select-option-focused-color: var(--textColorAccent);
.Select { .Select {
position: relative; position: relative;
@ -50,12 +50,12 @@ html {
border-radius: $radius; border-radius: $radius;
background: var(--select-menu-bgc); background: var(--select-menu-bgc);
min-height: 0; min-height: 0;
box-shadow: 0 0 0 1px $halfGray; box-shadow: 0 0 0 1px var(--halfGray);
cursor: pointer; cursor: pointer;
line-height: 1; line-height: 1;
&--is-focused { &--is-focused {
box-shadow: 0 0 0 1px $primary; box-shadow: 0 0 0 1px var(--primary);
} }
} }
@ -110,7 +110,7 @@ html {
cursor: pointer; cursor: pointer;
&:active { &:active {
background: $primary; background: var(--primary);
} }
&--is-selected { &--is-selected {
@ -144,14 +144,14 @@ html {
} }
&__multi-value { &__multi-value {
background: $layoutBackground; background: var(--layoutBackground);
&__remove { &__remove {
background: inherit; background: inherit;
&:hover { &:hover {
background: $colorError; background: var(--colorError);
color: $textColorAccent; color: var(--textColorAccent);
} }
} }
} }
@ -166,12 +166,12 @@ html {
.Select, .Select__menu { .Select, .Select__menu {
&.theme-light { &.theme-light {
--select-menu-bgc: white; --select-menu-bgc: white;
--select-option-selected-color: $textColorSecondary; --select-option-selected-color: var(--textColorSecondary);
.Select { .Select {
&__multi-value { &__multi-value {
background: none; background: none;
box-shadow: 0 0 0 1px $textColorSecondary; box-shadow: 0 0 0 1px var(--textColorSecondary);
} }
&__option { &__option {
@ -196,8 +196,8 @@ html {
&.theme-outlined { &.theme-outlined {
.Select__control { .Select__control {
box-shadow: 0 0 0 1px $colorVague; box-shadow: 0 0 0 1px var(--colorVague);
color: $primary; color: var(--primary);
.Select__value-container { .Select__value-container {
padding: 0 $padding * 0.5; padding: 0 $padding * 0.5;
@ -219,7 +219,7 @@ html {
:focus-within { :focus-within {
&.Select__control { &.Select__control {
box-shadow: 0 0 0 1px $colorInfo; box-shadow: 0 0 0 1px var(--colorInfo);
} }
} }

View File

@ -21,18 +21,18 @@
.Slider { .Slider {
.track { .track {
background: $lensBlue; background: var(--blue);
} }
.thumb { .thumb {
background: $lensBlue; background: var(--blue);
&.activated, &.jumped, &.focused { &.activated, &.jumped, &.focused {
box-shadow: 0 0 0 $unit * 2 rgba($lensBlue, 0.16)!important; box-shadow: 0 0 0 #{$unit * 2} var(--blue) !important;
} }
&:hover{ &:hover{
box-shadow: 0 0 0 $unit rgba($lensBlue, 0.16); box-shadow: 0 0 0 $unit var(--blue);
} }
} }
} }

View File

@ -43,7 +43,7 @@
} }
&.singleColor { &.singleColor {
@include spinner-color($textColorPrimary); @include spinner-color(var(--textColorPrimary));
animation: $rotateAnimation; animation: $rotateAnimation;
} }

View File

@ -26,7 +26,7 @@
width: $brickSize; width: $brickSize;
height: $brickSize; height: $brickSize;
margin-right: $margin; margin-right: $margin;
background: $colorOk; background: var(--colorOk);
border-radius: 2px; border-radius: 2px;
&:last-child { &:last-child {

View File

@ -21,8 +21,8 @@
.Stepper { .Stepper {
--stepper-color: $contentColor; --stepper-color: var(--contentColor);
--stepper-color-text: $textColorPrimary; --stepper-color-text: var(--textColorPrimary);
--stepper-color-active: var(--color-primary); --stepper-color-active: var(--color-primary);
--stepper-color-point: var(--stepper-color); --stepper-color-point: var(--stepper-color);
@ -34,13 +34,13 @@
text-align: center; text-align: center;
&.active, &.done { &.active, &.done {
.point { .point {
color: $textColorAccent; color: var(--textColorAccent);
background: var(--stepper-color-active); background: var(--stepper-color-active);
} }
} }
&.active { &.active {
.step-title { .step-title {
color: $textColorAccent; color: var(--textColorAccent);
} }
} }
&.done > .line { &.done > .line {

View File

@ -80,11 +80,11 @@
} }
a { a {
color: $primary; color: var(--primary);
transition: 150ms color; transition: 150ms color;
&:hover { &:hover {
color: $textColorAccent; color: var(--textColorAccent);
} }
} }
} }

View File

@ -20,13 +20,13 @@
*/ */
.TableHead { .TableHead {
$border: 1px solid $layoutBackground; $border: 1px solid var(--layoutBackground);
background-color: $tableHeaderBackground; background-color: var(--tableHeaderBackground);
border-bottom-width: $tableHeaderBorderWidth; border-bottom-width: var(--tableHeaderBorderWidth);
border-bottom-style: solid; border-bottom-style: solid;
border-bottom-color: $tableHeaderBorderColor; border-bottom-color: var(--tableHeaderBorderColor);
color: $tableHeaderColor; color: var(--tableHeaderColor);
display: flex; display: flex;
flex-shrink: 0; flex-shrink: 0;

View File

@ -39,16 +39,16 @@
cursor: pointer; cursor: pointer;
&:hover { &:hover {
background-color: $tableBgcSelected !important; background-color: var(--tableBgcSelected) !important;
} }
&.selected { &.selected {
background-color: $tableBgcSelected; background-color: var(--tableBgcSelected);
color: $tableSelectedRowColor; color: var(--tableSelectedRowColor);
&:before { &:before {
content: ""; content: "";
background: $primary; background: var(--primary);
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
@ -62,7 +62,7 @@
&.striped { &.striped {
.TableRow { .TableRow {
&:nth-child(odd) { &:nth-child(odd) {
background-color: $tableBgcStripe; background-color: var(--tableBgcStripe);
} }
} }
} }

View File

@ -26,7 +26,7 @@
-moz-user-select: none; /* firefox */ -moz-user-select: none; /* firefox */
&.withBorder { &.withBorder {
border-bottom: 1px solid $borderFaintColor; border-bottom: 1px solid var(--borderFaintColor);
} }
&.wrap { &.wrap {
@ -49,8 +49,8 @@
} }
.Tab { .Tab {
--color-active: #{$layoutTabsActiveColor}; --color-active: var(--layoutTabsActiveColor);
--line-color-active: #{$primary}; --line-color-active: var(--primary);
--line-color-focus: currentColor; --line-color-focus: currentColor;
position: relative; position: relative;
@ -74,7 +74,7 @@
height: $unit * 0.5; height: $unit * 0.5;
transition: width 150ms; transition: width 150ms;
background: currentColor; background: currentColor;
color: $halfGray color: var(--halfGray)
} }
&:focus { &:focus {

View File

@ -21,10 +21,10 @@
.Tooltip { .Tooltip {
--bgc: #{$mainBackground}; --bgc: var(--mainBackground);
--radius: #{$radius}; --radius: #{$radius};
--color: #{$textColorAccent}; --color: var(--textColorAccent);
--border: 1px solid #{$borderColor}; --border: 1px solid var(--borderColor);
// use positioning relative to viewport (window) // use positioning relative to viewport (window)
// https://developer.mozilla.org/en-US/docs/Web/CSS/position // https://developer.mozilla.org/en-US/docs/Web/CSS/position
@ -74,7 +74,7 @@
} }
&.warning { &.warning {
color: $colorError; color: var(--colorError);
} }
&.tableView { &.tableView {
@ -85,12 +85,12 @@
} }
.title { .title {
color: $textColorAccent; color: var(--textColorAccent);
text-align: center; text-align: center;
} }
.name { .name {
color: $textColorAccent; color: var(--textColorAccent);
text-align: right; text-align: right;
flex: 0 0 35%; flex: 0 0 35%;
} }

View File

@ -20,7 +20,6 @@
*/ */
@import "colors", "media"; @import "colors", "media";
@import "../themes/theme-vars";
// Dimensions // Dimensions
$unit: 8px; $unit: 8px;

View File

@ -25,10 +25,10 @@
--wizard-content-height: auto; --wizard-content-height: auto;
--wizard-content-max-height: #{40 * $unit}; --wizard-content-max-height: #{40 * $unit};
--wizard-spacing: #{$padding * 3}; --wizard-spacing: #{$padding * 3};
--wizard-step-bgc: #{$dialogBackground}; --wizard-step-bgc: var(--dialogBackground);
width: var(--wizard-width); width: var(--wizard-width);
color: $dialogTextColor; color: var(--dialogTextColor);
&.small { &.small {
--wizard-width: #{45 * $unit}; --wizard-width: #{45 * $unit};
@ -45,7 +45,7 @@
> .header { > .header {
text-align: center; text-align: center;
color: white; color: white;
background: $dialogHeaderBackground; background: var(--dialogHeaderBackground);
padding: var(--wizard-spacing); padding: var(--wizard-spacing);
border-top-left-radius: $radius; border-top-left-radius: $radius;
border-top-right-radius: $radius; border-top-right-radius: $radius;
@ -95,7 +95,7 @@
// buttons // buttons
> :last-child { > :last-child {
padding: var(--wizard-spacing); padding: var(--wizard-spacing);
background: $dialogFooterBackground; background: var(--dialogFooterBackground);
border-bottom-left-radius: $radius; border-bottom-left-radius: $radius;
border-bottom-right-radius: $radius; border-bottom-right-radius: $radius;

View File

@ -56,7 +56,7 @@
} }
.warning { .warning {
color: $colorSoftError; color: var(--colorSoftError);
font-size: small; font-size: small;
display: flex; display: flex;
align-items: center; align-items: center;

View File

@ -91,7 +91,7 @@ export class ThemeStore extends Singleton {
if (!this.styles) { if (!this.styles) {
this.styles = document.createElement("style"); this.styles = document.createElement("style");
this.styles.id = "lens-theme"; this.styles.id = "lens-theme";
document.head.prepend(this.styles); document.head.append(this.styles);
} }
const cssVars = Object.entries(theme.colors).map(([cssName, color]) => { const cssVars = Object.entries(theme.colors).map(([cssName, color]) => {
return `--${cssName}: ${color};`; return `--${cssName}: ${color};`;

View File

@ -23,6 +23,7 @@
"layoutBackground": "#2e3136", "layoutBackground": "#2e3136",
"layoutTabsBackground": "#252729", "layoutTabsBackground": "#252729",
"layoutTabsActiveColor": "#ffffff", "layoutTabsActiveColor": "#ffffff",
"layoutTabsLineColor": "#87909c80",
"sidebarBackground": "#36393e", "sidebarBackground": "#36393e",
"sidebarLogoBackground": "#414448", "sidebarLogoBackground": "#414448",
"sidebarActiveColor": "#ffffff", "sidebarActiveColor": "#ffffff",
@ -126,6 +127,7 @@
"radioActiveBackground": "#36393e", "radioActiveBackground": "#36393e",
"menuActiveBackground": "#36393e", "menuActiveBackground": "#36393e",
"menuSelectedOptionBgc": "#36393e", "menuSelectedOptionBgc": "#36393e",
"canvasBackground": "#24292e",
"scrollBarColor": "#5f6064", "scrollBarColor": "#5f6064",
"settingsBackground": "#262b2e", "settingsBackground": "#262b2e",
"settingsColor": "#909ba6", "settingsColor": "#909ba6",

View File

@ -127,8 +127,8 @@
"radioActiveBackground": "#f1f1f1", "radioActiveBackground": "#f1f1f1",
"menuActiveBackground": "#e8e8e8", "menuActiveBackground": "#e8e8e8",
"menuSelectedOptionBgc": "#e8e8e8", "menuSelectedOptionBgc": "#e8e8e8",
"scrollBarColor": "#bbbbbb",
"canvasBackground": "#24292e", "canvasBackground": "#24292e",
"scrollBarColor": "#bbbbbb",
"settingsBackground": "#ffffff", "settingsBackground": "#ffffff",
"settingsColor": "#555555", "settingsColor": "#555555",
"navSelectedBackground": "#ffffff", "navSelectedBackground": "#ffffff",

View File

@ -0,0 +1,138 @@
/*
Generated Lens theme CSS-variables, don't edit manually.
To refresh file run $: yarn run ts-node build/build_theme_vars.ts
*/
:root {
--blue: #3d90ce;
--magenta: #c93dce;
--golden: #ffc63d;
--halfGray: #87909c80;
--primary: #3d90ce;
--textColorPrimary: #8e9297;
--textColorSecondary: #a0a0a0;
--textColorTertiary: #909ba6;
--textColorAccent: #ffffff;
--textColorDimmed: #8e92978c;
--borderColor: #4c5053;
--borderFaintColor: #373a3e;
--mainBackground: #1e2124;
--secondaryBackground: #1e2125;
--contentColor: #262b2f;
--layoutBackground: #2e3136;
--layoutTabsBackground: #252729;
--layoutTabsActiveColor: #ffffff;
--layoutTabsLineColor: #87909c80;
--sidebarBackground: #36393e;
--sidebarLogoBackground: #414448;
--sidebarActiveColor: #ffffff;
--sidebarSubmenuActiveColor: #ffffff;
--sidebarItemHoverBackground: #3a3e44;
--buttonPrimaryBackground: #3d90ce;
--buttonDefaultBackground: #414448;
--buttonLightBackground: #f1f1f1;
--buttonAccentBackground: #e85555;
--buttonDisabledBackground: #808080;
--tableBgcStripe: #2a2d33;
--tableBgcSelected: #383c42;
--tableHeaderBackground: #262b2f;
--tableHeaderBorderWidth: 1px;
--tableHeaderBorderColor: #36393e;
--tableHeaderColor: #ffffff;
--tableSelectedRowColor: #ffffff;
--helmLogoBackground: #ffffff;
--helmImgBackground: #414448;
--helmStableRepo: #3d90ce;
--helmIncubatorRepo: #ff7043;
--helmDescriptionHr: #41474a;
--helmDescriptionBlockquoteColor: #bbb;
--helmDescriptionBlockquoteBorder: #8a8f93;
--helmDescriptionBlockquoteBackground: #3b4348;
--helmDescriptionHeaders: #3e4147;
--helmDescriptionH6: #6a737d;
--helmDescriptionTdBorder: #47494a;
--helmDescriptionTrBackground: #1c2125;
--helmDescriptionCodeBackground: #ffffff1a;
--helmDescriptionPreBackground: #1b1f21;
--helmDescriptionPreColor: #b4b5b4;
--colorSuccess: #43a047;
--colorOk: #4caf50;
--colorInfo: #3d90ce;
--colorError: #ce3933;
--colorSoftError: #e85555;
--colorWarning: #ff9800;
--colorVague: #36393e;
--colorTerminated: #4c5053;
--dockHeadBackground: #2e3136;
--dockInfoBackground: #1e2125;
--dockInfoBorderColor: #303136;
--dockEditorBackground: #000000;
--dockEditorTag: #8e97a3;
--dockEditorKeyword: #ffffff;
--dockEditorComment: #808080;
--dockEditorActiveLineBackground: #3a3d41;
--dockBadgeBackground: #36393e;
--logsBackground: #000000;
--logsForeground: #ffffff;
--logRowHoverBackground: #35373a;
--terminalBackground: #000000;
--terminalForeground: #ffffff;
--terminalCursor: #ffffff;
--terminalCursorAccent: #000000;
--terminalSelection: #ffffff77;
--terminalBlack: #2e3436;
--terminalRed: #cc0000;
--terminalGreen: #4e9a06;
--terminalYellow: #c4a000;
--terminalBlue: #3465a4;
--terminalMagenta: #75507b;
--terminalCyan: #06989a;
--terminalWhite: #d3d7cf;
--terminalBrightBlack: #555753;
--terminalBrightRed: #ef2929;
--terminalBrightGreen: #8ae234;
--terminalBrightYellow: #fce94f;
--terminalBrightBlue: #729fcf;
--terminalBrightMagenta: #ad7fa8;
--terminalBrightCyan: #34e2e2;
--terminalBrightWhite: #eeeeec;
--dialogTextColor: #87909c;
--dialogBackground: #ffffff;
--dialogHeaderBackground: #36393e;
--dialogFooterBackground: #f4f4f4;
--drawerTogglerBackground: #2f343a;
--drawerTitleText: #ffffff;
--drawerSubtitleBackground: #373a3e;
--drawerItemNameColor: #87909c;
--drawerItemValueColor: #a0a0a0;
--clusterMenuBackground: #252729;
--clusterMenuBorderColor: #252729;
--clusterMenuCellBackground: #2e3136;
--clusterSettingsBackground: #1e2124;
--addClusterIconColor: #252729;
--boxShadow: #0000003a;
--iconActiveColor: #ffffff;
--iconActiveBackground: #ffffff18;
--filterAreaBackground: #23272b;
--chartLiveBarBackground: #00000033;
--chartStripesColor: #ffffff08;
--chartCapacityColor: #4c545f;
--pieChartDefaultColor: #30353a;
--inputOptionHoverColor: #87909c;
--inputControlBackground: #1e2125;
--inputControlBorder: #414448;
--inputControlHoverBorder: #474a4f;
--lineProgressBackground: #414448;
--radioActiveBackground: #36393e;
--menuActiveBackground: #36393e;
--menuSelectedOptionBgc: #36393e;
--canvasBackground: #24292e;
--scrollBarColor: #5f6064;
--settingsBackground: #262b2e;
--settingsColor: #909ba6;
--navSelectedBackground: #262b2e;
--navHoverColor: #dcddde;
--hrColor: #ffffff0f;
--tooltipBackground: #18191c;
}

View File

@ -1,156 +0,0 @@
/**
* Copyright (c) 2021 OpenLens Authors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
// Base colors
$lensBlue: var(--blue);
$lensMagenta: var(--magenta);
$golden: var(--golden);
$halfGray: var(--halfGray);
$primary: var(--primary);
$textColorPrimary: var(--textColorPrimary);
$textColorSecondary: var(--textColorSecondary);
$textColorAccent: var(--textColorAccent);
$borderColor: var(--borderColor);
$borderFaintColor: var(--borderFaintColor);
$colorSuccess: var(--colorSuccess);
$colorOk: var(--colorOk);
$colorInfo: var(--colorInfo);
$colorError: var(--colorError);
$colorSoftError: var(--colorSoftError);
$colorWarning: var(--colorWarning);
$colorVague: var(--colorVague);
$colorTerminated: var(--colorTerminated);
// Layout
$mainBackground: var(--mainBackground);
$contentColor: var(--contentColor);
$layoutBackground: var(--layoutBackground);
$layoutTabsBackground: var(--layoutTabsBackground);
$layoutTabsActiveColor: var(--layoutTabsActiveColor);
// Sidebar
$sidebarLogoBackground: var(--sidebarLogoBackground);
$sidebarActiveColor: var(--sidebarActiveColor);
$sidebarSubmenuActiveColor: var(--sidebarSubmenuActiveColor);
$sidebarBackground: var(--sidebarBackground);
// Elements
$buttonPrimaryBackground: var(--buttonPrimaryBackground);
$buttonDefaultBackground: var(--buttonDefaultBackground);
$buttonLightBackground: var(--buttonLightBackground);
$buttonAccentBackground: var(--buttonAccentBackground);
$buttonDisabledBackground: var(--buttonDisabledBackground);
// Tables
$tableBgcStripe: var(--tableBgcStripe);
$tableBgcSelected: var(--tableBgcSelected);
$tableHeaderBackground: var(--tableHeaderBackground);
$tableHeaderBorderWidth: var(--tableHeaderBorderWidth);
$tableHeaderBorderColor: var(--tableHeaderBorderColor);
$tableHeaderColor: var(--tableHeaderColor);
$tableSelectedRowColor: var(--tableSelectedRowColor);
// Helm
$helmLogoBackground: var(--helmLogoBackground);
$helmImgBackground: var(--helmImgBackground);
$helmStableRepo: var(--helmStableRepo);
$helmIncubatorRepo: var(--helmIncubatorRepo);
$helmDescriptionHr: var(--helmDescriptionHr);
$helmDescriptionBlockquoteColor: var(--helmDescriptionBlockquoteColor);
$helmDescriptionBlockquoteBorder: var(--helmDescriptionBlockquoteBorder);
$helmDescriptionBlockquoteBackground: var(--helmDescriptionBlockquoteBackground);
$helmDescriptionHeaders: var(--helmDescriptionHeaders);
$helmDescriptionH6: var(--helmDescriptionH6);
$helmDescriptionTdBorder: var(--helmDescriptionTdBorder);
$helmDescriptionTrBackground: var(--helmDescriptionTrBackground);
$helmDescriptionCodeBackground: var(--helmDescriptionCodeBackground);
$helmDescriptionPreBackground: var(--helmDescriptionPreBackground);
$helmDescriptionPreColor: var(--helmDescriptionPreColor);
// Dock
$dockHeadBackground: var(--dockHeadBackground);
$dockInfoBackground: var(--dockInfoBackground);
$dockInfoBorderColor: var(--dockInfoBorderColor);
$dockBadgeBackground: var(--dockBadgeBackground);
// Terminal
$terminalBackground: var(--terminalBackground);
$terminalForeground: var(--terminalForeground);
$terminalCursor: var(--terminalCursor);
$terminalCursorAccent: var(--terminalCursorAccent);
$terminalSelection: var(--terminalSelection);
$terminalBlack: var(--terminalBlack);
$terminalRed: var(--terminalRed);
$terminalGreen: var(--terminalGreen);
$terminalYellow: var(--terminalYellow);
$terminalBlue: var(--terminalBlue);
$terminalMagenta: var(--terminalMagenta);
$terminalCyan: var(--terminalCyan);
$terminalWhite: var(--terminalWhite);
$terminalBrightBlack: var(--terminalBrightBlack);
$terminalBrightRed: var(--terminalBrightRed);
$terminalBrightGreen: var(--terminalBrightGreen);
$terminalBrightYellow: var(--terminalBrightYellow);
$terminalBrightBlue: var(--terminalBrightBlue);
$terminalBrightMagenta: var(--terminalBrightMagenta);
$terminalBrightCyan: var(--terminalBrightCyan);
$terminalBrightWhite: var(--terminalBrightWhite);
// Logs
$logsBackground: var(--logsBackground);
$logRowHoverBackground: var(--logRowHoverBackground);
// Dialogs
$dialogTextColor: var(--dialogTextColor);
$dialogBackground: var(--dialogBackground);
$dialogHeaderBackground: var(--dialogHeaderBackground);
$dialogFooterBackground: var(--dialogFooterBackground);
// Drawer
$drawerTogglerBackground: var(--drawerTogglerBackground);
$drawerTitleText: var(--drawerTitleText);
$drawerSubtitleBackground: var(--drawerSubtitleBackground);
$drawerItemNameColor: var(--drawerItemNameColor);
$drawerItemValueColor: var(--drawerItemValueColor);
// Charts
$chartLiveBarBackground: var(--chartLiveBarBackground);
$chartStripesColor: var(--chartStripesColor);
$chartCapacityColor: var(--chartCapacityColor);
$pieChartDefaultColor: var(--pieChartDefaultColor);
// Cluster Menu
$clusterMenuBackground: var(--clusterMenuBackground);
$clusterMenuBorderColor: var(--clusterMenuBorderColor);
$clusterSettingsBackground: var(--clusterSettingsBackground);
$addClusterIconColor: var(--addClusterIconColor);
// Misc
$boxShadow: var(--boxShadow);
$iconActiveColor: var(--iconActiveColor);
$iconActiveBackground: var(--iconActiveBackground);
$filterAreaBackground: var(--filterAreaBackground);
$inputOptionHoverColor: var(--inputOptionHoverColor);
$lineProgressBackground: var(--lineProgressBackground);
$radioActiveBackground: var(--radioActiveBackground);
$menuActiveBackground: var(--menuActiveBackground);
$menuSelectedOptionBgc: var(--menuSelectedOptionBgc);