1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-11 12:46:49 +00:00

chore(frontend): upgrade Bootswatch and Bootstrap SCSS to v5.3.3

- Upgraded Bootswatch SCSS source files across all 25 themes (dev/scss/bootswatch/) to v5.3.3
- Upgraded Bootstrap SCSS source files (dev/scss/bootstrap/) to v5.3.3 to match static/js/bootstrap.bundle.min.js
- Updated dev/scss/bootstrap-overrides.scss to import bootstrap/variables-dark
- Verified error-free LibSass compilation for all 26 themes (25 Bootswatch + bootstrap-orj)
- Recompiled static/css/wvc-main.min.css
This commit is contained in:
catborise 2026-09-26 23:57:02 +03:00
parent ac91248a29
commit 2ea6652a0e
155 changed files with 1923 additions and 1095 deletions

View file

@ -1,21 +1,22 @@
// Slate 5.2.2
// Slate 5.3.3
// Bootswatch
// Variables
:root {
color-scheme: dark;
}
// Mixins
@mixin btn-shadow($color){
@include gradient-y-three-colors(tint-color($color, 12%), $color, 60%, shade-color($color, 8%));
@include gradient-y-three-colors(tint-color($color, 5%), $color, 20%, shade-color($color, 20%));
filter: none;
}
@mixin btn-shadow-inverse($color){
@include gradient-y-three-colors(shade-color($color, 16%), shade-color($color, 10%), 40%, shade-color($color, 6%));
filter: none;
}
@mixin btn-shadow-inverse-dark($color){
@include gradient-y-three-colors(shade-color($color, 36%), shade-color($color, 30%), 40%, shade-color($color, 26%));
filter: none;
}
@ -23,7 +24,7 @@
// Navbar
.navbar {
text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
text-shadow: 1px 1px 1px rgba(0, 0, 0, .2);
border: 1px solid rgba(0, 0, 0, .6);
.container {
@ -46,12 +47,6 @@
padding: 1rem;
border-right: 1px solid rgba(0, 0, 0, .2);
border-left: 1px solid rgba(255, 255, 255, .1);
&:hover,
&:focus {
@include btn-shadow-inverse($gray-800);
border-left: 1px solid rgba(0, 0, 0, .2);
}
}
&-brand {
@ -69,14 +64,20 @@
margin-left: 0;
}
&.bg-light {
text-shadow: 1px 1px 1px rgba(0, 0, 0, .1);
@each $color, $value in $theme-colors {
&.bg-#{$color} {
.nav-link {
&:hover,
&:focus {
@include btn-shadow-inverse($gray-600);
border-left: 1px solid rgba(0, 0, 0, .2);
.nav-link {
&:hover {
@include btn-shadow-inverse($value);
border-left: 1px solid rgba(0, 0, 0, .2);
}
&:active,
&.active {
@include btn-shadow-inverse-dark($value);
border-left: 1px solid rgba(0, 0, 0, .2);
}
}
}
}
@ -128,74 +129,20 @@
&:not([disabled]):not(.disabled).active:hover {
border-color: rgba(0, 0, 0, .6);
}
}
.btn-primary {
@include btn-shadow($primary);
@each $color, $value in $theme-colors {
&-#{$color} {
@include btn-shadow($value);
&:not([disabled]):not(.disabled):hover,
&:not([disabled]):not(.disabled):focus,
&:not([disabled]):not(.disabled):active:hover,
&:not([disabled]):not(.disabled).active:hover {
@include btn-shadow-inverse($primary);
}
}
&:not([disabled]):not(.disabled):hover {
@include btn-shadow-inverse($value);
}
.btn-secondary {
@include btn-shadow($secondary);
&:not([disabled]):not(.disabled):hover,
&:not([disabled]):not(.disabled):focus,
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active {
@include btn-shadow-inverse($secondary);
}
}
.btn-success {
@include btn-shadow($success);
color: $white;
&:not([disabled]):not(.disabled):hover,
&:not([disabled]):not(.disabled):focus,
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active {
@include btn-shadow-inverse($success);
}
}
.btn-info {
@include btn-shadow($info);
color: $white;
&:not([disabled]):not(.disabled):hover,
&:not([disabled]):not(.disabled):focus,
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active {
@include btn-shadow-inverse($info);
}
}
.btn-warning {
@include btn-shadow($warning);
color: $white;
&:not([disabled]):not(.disabled):hover,
&:not([disabled]):not(.disabled):focus,
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active {
@include btn-shadow-inverse($warning);
}
}
.btn-danger {
@include btn-shadow($danger);
&:not([disabled]):not(.disabled):hover,
&:not([disabled]):not(.disabled):focus,
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active {
@include btn-shadow-inverse($danger);
&:not([disabled]):not(.disabled):active:hover,
&:not([disabled]):not(.disabled).active:hover {
@include btn-shadow-inverse-dark($value);
}
}
}
}
@ -217,6 +164,12 @@
}
}
.btn-check:checked + .btn,
.btn-check + .btn:hover {
color: $white;
border-color: rgba(0, 0, 0, .6);
}
// Typography
h1,
@ -234,10 +187,6 @@ legend {
color: $white;
}
.form-control {
color-scheme: light;
}
.input-group-addon {
@include btn-shadow($secondary);
color: $white;
@ -350,7 +299,7 @@ legend {
&,
a:not(.btn),
.alert-link {
color: $body-bg;
color: $dark;
}
}
}
@ -361,10 +310,30 @@ legend {
}
}
.tooltip {
--bs-tooltip-bg: var(--bs-tertiary-bg);
--bs-tooltip-color: var(--bs-emphasis-color);
}
// Containers
.list-group {
&-item {
color: $white;
&-light {
color: $dark;
}
}
&-item-action:hover {
background-color: shade-color($gray-900, 10%);
}
@each $color, $value in $theme-colors {
&-item-#{$color} {
background-color: $value;
border-color: $list-group-border-color;
}
}
}

View file

@ -1,4 +1,4 @@
// Slate 5.2.2
// Slate 5.3.3
// Bootswatch
$theme: "slate" !default;
@ -39,6 +39,8 @@ $danger: $red !default;
$light: $gray-200 !default;
$dark: $gray-900 !default;
$primary-bg-subtle: lighten($gray-800, 10%) !default;
$min-contrast-ratio: 1.95 !default;
// Body
@ -61,7 +63,7 @@ $table-border-color: rgba($black, .6) !default;
$table-dark-border-color: $table-border-color !default;
$table-dark-color: $white !default;
$table-bg-scale: 0 !default;
$table-bg-scale: 0% !default;
// Buttons
@ -70,13 +72,23 @@ $input-btn-padding-x: 1rem !default;
// Forms
$input-bg: $white !default;
$input-disabled-bg: #ccc !default;
$input-bg: $white !default;
$input-color: $gray-900 !default;
$input-border-color: rgba($black, .6) !default;
$input-group-addon-color: $gray-500 !default;
$input-group-addon-bg: $gray-700 !default;
$input-disabled-color: $gray-600 !default;
$input-disabled-bg: #ccc !default;
$form-check-input-bg: $white !default;
$form-select-disabled-bg: $input-disabled-bg !default;
$form-select-disabled-color: $input-disabled-color !default;
$form-file-button-color: $input-group-addon-color !default;
$form-file-button-bg: $input-group-addon-bg !default;
$form-file-button-hover-bg: darken($form-file-button-bg, 5%) !default;
// Dropdowns
$dropdown-bg: $gray-800 !default;
@ -98,12 +110,10 @@ $nav-tabs-link-active-border-color: $nav-tabs-border-color !default;
// Navbar
$navbar-padding-y: 0 !default;
$navbar-dark-hover-color: $white !default;
$navbar-light-hover-color: $gray-800 !default;
$navbar-light-active-color: $gray-800 !default;
// Pagination
$pagination-padding-y: $input-btn-padding-y !default;
$pagination-padding-x: $input-btn-padding-x !default;
$pagination-color: $white !default;
$pagination-bg: transparent !default;
@ -122,6 +132,12 @@ $card-border-color: rgba($black, .6) !default;
$card-cap-bg: lighten($gray-800, 10%) !default;
$card-bg: lighten($body-bg, 5%) !default;
// Accordions
$accordion-bg: lighten($body-bg, 5%) !default;
$accordion-border-color: $table-border-color !default;
$accordion-button-active-color: $white !default;
// Popovers
$popover-bg: lighten($body-bg, 5%) !default;
@ -149,6 +165,7 @@ $progress-bar-color: $gray-600 !default;
$list-group-color: $white !default;
$list-group-bg: lighten($body-bg, 5%) !default;
$list-group-border-color: rgba($black, .6) !default;
$list-group-item-bg-scale: 0% !default;
$list-group-hover-bg: lighten($body-bg, 10%) !default;
$list-group-active-color: $white !default;
$list-group-active-bg: $list-group-hover-bg !default;