mirror of
https://github.com/kestra-io/kestra.git
synced 2025-12-19 18:05:41 -05:00
Closes https://github.com/kestra-io/kestra/issues/13599. Co-authored-by: Miloš Paunović <paun992@hotmail.com>
255 lines
5.1 KiB
SCSS
255 lines
5.1 KiB
SCSS
@use "fonts";
|
|
|
|
@use "@kestra-io/ui-libs/src/scss/variables.scss" as global-var;
|
|
@use 'element-plus/theme-chalk/src/mixins/mixins' as mixin;
|
|
|
|
@use "@kestra-io/ui-libs/style.css";
|
|
|
|
// element-plus
|
|
@use "layout/element-plus-overload";
|
|
|
|
// vue-tour
|
|
@use "vue3-tour/dist/vue3-tour.css";
|
|
|
|
// layout
|
|
@use "layout/root";
|
|
@use "layout/root-dark";
|
|
@use "layout/html-tag" as *;
|
|
|
|
// components
|
|
@use "layout/charts";
|
|
@use "components/vue-material-design-icon";
|
|
@use "components/vue-nprogress" with (
|
|
$indigo: global-var.$indigo
|
|
);
|
|
|
|
@use "components/sidebar-menu";
|
|
|
|
html, body, #app, #app-container {
|
|
height: 100%;
|
|
}
|
|
|
|
html {
|
|
scroll-padding-top: 80px;
|
|
transition: padding-left 0.3s ease;
|
|
|
|
code[class*="language-"], pre[class*="language-"] {
|
|
white-space: pre-wrap !important;
|
|
}
|
|
|
|
&.menu-collapsed {
|
|
#{--offset-from-menu}: 1rem;
|
|
}
|
|
|
|
&.menu-not-collapsed {
|
|
#{--offset-from-menu}: 1rem;
|
|
@include mixin.res(lg) {
|
|
#{--offset-from-menu}: 4rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
* > {
|
|
::-webkit-scrollbar {
|
|
width: 15px !important;
|
|
|
|
&:horizontal {
|
|
height: 15px !important;
|
|
}
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: var(--ks-background-body) !important;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: var(--ks-border-primary) !important;
|
|
border-radius: 8px !important;
|
|
border: 4px solid var(--ks-background-body) !important;
|
|
}
|
|
|
|
::-webkit-scrollbar-corner {
|
|
background: var(--ks-background-body) !important;
|
|
}
|
|
}
|
|
|
|
// main layout
|
|
main {
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 100%;
|
|
|
|
&:has(section.full-container) {
|
|
max-height: 100%;
|
|
}
|
|
|
|
> section.container {
|
|
margin: 24px 0;
|
|
min-width: 100%;
|
|
transition: padding 0.3s ease;
|
|
padding: 0 24px;
|
|
|
|
&.full-height {
|
|
flex: 1;
|
|
display: flex;
|
|
min-height: 0;
|
|
> * {
|
|
flex: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
> section.full-container {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 0;
|
|
|
|
> * {
|
|
flex: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
.el-icon.el-select__caret.el-select__icon {
|
|
font-size: 1.1rem;
|
|
}
|
|
|
|
// status
|
|
@each $key, $value in global-var.$colors {
|
|
.bg-#{$key} {
|
|
background-color: $value;
|
|
}
|
|
|
|
.el-button.status-#{$key} {
|
|
cursor: default;
|
|
border: 0.5px solid $value;
|
|
background: var(--ks-background-card);
|
|
|
|
.material-design-icon {
|
|
color: $value;
|
|
}
|
|
|
|
html.dark & {
|
|
background: var(--bs-tertiary);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Browser autofill background color
|
|
input:-webkit-autofill,
|
|
input:-webkit-autofill:focus {
|
|
transition: background-color 600000s 0s, color 600000s 0s;
|
|
}
|
|
input[data-autocompleted] {
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
// full page
|
|
html.full-screen {
|
|
--menu-width: 0;
|
|
|
|
body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
#app {
|
|
|
|
height: 100%;
|
|
main {
|
|
transition: none;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
// setup non color CSS variables
|
|
:root{
|
|
--el-box-shadow: $box-shadow;
|
|
--el-box-shadow-light: $box-shadow-sm;
|
|
--el-box-shadow-lighter: $box-shadow-sm;
|
|
--el-box-shadow-dark: $box-shadow-lg;
|
|
|
|
--el-transition-duration: 0.2s;
|
|
--el-transition-duration-fast: 0.2s;
|
|
--top-navbar-height: 79px;
|
|
#{--menu-width}: global-var.$menu-width;
|
|
#{--menu-collapsed-width}: 65px;
|
|
#{--spacer}: global-var.$spacer;
|
|
|
|
#{--font-size-xs}: global-var.$font-size-xs;
|
|
#{--font-size-sm}: global-var.$font-size-sm;
|
|
#{--font-size-base}: global-var.$font-size-base;
|
|
#{--font-size-lg}: global-var.$font-size-lg;
|
|
}
|
|
|
|
body{
|
|
background-color: var(--ks-background-body);
|
|
}
|
|
|
|
.no-code-skeleton{
|
|
color: var(--ks-content-secondary);
|
|
background-color: var(--ks-background-card);
|
|
width: 100%;
|
|
border-radius: 4px;
|
|
padding: 0 .5rem;
|
|
// slowly appearing grey background animation
|
|
animation: skeleton-loading 6s 1;
|
|
position: relative;
|
|
&:before{
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
background-image: linear-gradient(110deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .1) 35%, rgba(255, 255, 255, 0) 75%, rgba(255, 255, 255, 0) 100%);
|
|
background-size: 200% 200%;
|
|
background-repeat: no-repeat;
|
|
background-position: 0 0;
|
|
opacity: 0.7;
|
|
border-radius: 4px;
|
|
animation: skeleton-animation 3s infinite;
|
|
height: 32px;
|
|
}
|
|
}
|
|
|
|
@keyframes skeleton-animation {
|
|
0% {
|
|
background-position: -55% -30%;
|
|
}
|
|
100% {
|
|
background-position: 185% 100%;
|
|
}
|
|
}
|
|
|
|
@keyframes skeleton-loading {
|
|
0% {
|
|
opacity:0;
|
|
}
|
|
40% {
|
|
opacity:0;
|
|
}
|
|
100% {
|
|
opacity:.7;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
main > section.container:has(.empty-template) {
|
|
padding: 0 0;
|
|
}
|
|
}
|
|
|
|
#app {
|
|
display: flex;
|
|
height: 100vh;
|
|
overflow: hidden;
|
|
}
|
|
#app main {
|
|
flex: 1;
|
|
overflow: auto;
|
|
} |