1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-03-21 18:14:51 +00:00

Bootstrap & Bootswatch Upgrade: 4.5 -> 4.5.3

This commit is contained in:
catborise 2020-11-06 16:16:40 +03:00
parent 12fa9e7cf1
commit e2e62a3ad4
67 changed files with 1507 additions and 1368 deletions

View file

@ -1,18 +1,18 @@
// Materia 4.5.0
// Materia 4.5.3
// Bootswatch
// Variables ===================================================================
$web-font-path: "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" !default;
$web-font-path: "https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" !default;
@import url($web-font-path);
// Effects =====================================================================
// Mixins ======================================================================
@mixin ripple($color){
position: relative;
&:after {
&::before {
content: "";
display: block;
position: absolute;
@ -30,64 +30,25 @@ $web-font-path: "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&
transition: background .5s, opacity 1s;
}
&:active:after {
&:active::before {
background-size: 0 0;
opacity: .2;
transition: 0s;
transition: none;
}
&.disabled,
&[disabled] {
&:after {
&::before {
display: none;
}
}
}
// Navbar ======================================================================
.navbar {
border: none;
box-shadow: 0 1px 2px rgba(0,0,0,.3);
&-brand {
font-size: 24px;
}
&-nav .nav-link {
padding-top: 0.9rem;
padding-bottom: 0.9rem;
}
&.bg-dark,
&.bg-primary {
input[type=text],
input[type=password],
input[type=email],
input[type=number],
input[type=tel] {
color: #fff;
box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.5);
&:focus {
box-shadow: inset 0 -2px 0 #fff;
}
&::placeholder {
color: rgba(255, 255, 255, 0.5);
}
}
}
}
// Buttons =====================================================================
@mixin btn($class,$bg,$color){
.btn-#{$class} {
&:focus {
background-color: $bg;
box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
box-shadow: 0 0 0 2px rgba(204, 204, 204, .5);
}
&:hover,
@ -96,7 +57,7 @@ $web-font-path: "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&
}
&:active {
box-shadow: 2px 2px 4px rgba(0,0,0,.4);
box-shadow: 2px 2px 4px rgba(0, 0, 0, .4);
}
@include ripple($color);
@ -107,20 +68,65 @@ $web-font-path: "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&
}
}
@include btn(primary,$primary,$white);
@include btn(secondary,$secondary,$gray-500);
@include btn(success,$success,$white);
@include btn(info,$info,$white);
@include btn(warning,$warning,$white);
@include btn(danger,$danger,$white);
@include btn(dark,$dark,$white);
@include btn(light,$light,$white);
.dropdown-toggle::after,
.dropup .dropdown-toggle::after,
.dropright .dropdown-toggle::after,
.dropleft .dropdown-toggle::after {
border-width: 4px;
}
// Navbar ======================================================================
.navbar {
border: none;
box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
&-brand {
font-size: 24px;
}
&-nav .nav-link {
padding-top: .9rem;
padding-bottom: .9rem;
}
&.bg-dark,
&.bg-primary {
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="tel"] {
color: $white;
box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .5);
&:focus {
box-shadow: inset 0 -2px 0 $white;
}
&::placeholder {
color: rgba(255, 255, 255, .5);
}
}
}
}
// Buttons =====================================================================
@include btn(primary, $primary, $white);
@include btn(secondary, $secondary, $gray-500);
@include btn(success, $success, $white);
@include btn(info, $info, $white);
@include btn(warning, $warning, $white);
@include btn(danger, $danger, $white);
@include btn(dark, $dark, $white);
@include btn(light, $light, $white);
.btn {
text-transform: uppercase;
border: none;
box-shadow: 0 1px 4px rgba(0,0,0,.4);
transition: all 0.4s;
box-shadow: 0 1px 4px rgba(0, 0, 0, .4);
transition: color .4s, background-color .4s, border-color .4s, box-shadow .4s;
&-link {
box-shadow: none;
@ -148,13 +154,13 @@ $web-font-path: "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&
&.disabled,
&[disabled],
fieldset[disabled] & {
background-color: rgba(0, 0, 0, 0.1);
color: rgba(0, 0, 0, 0.4);
background-color: rgba(0, 0, 0, .1);
color: rgba(0, 0, 0, .4);
opacity: 1;
&:hover,
&:focus {
background-color: rgba(0, 0, 0, 0.1);
background-color: rgba(0, 0, 0, .1);
}
}
}
@ -167,18 +173,6 @@ $web-font-path: "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&
&-warning {
color: $white;
}
&.dropdown-toggle::before {
display: inline-block;
width: 0;
height: 0;
margin-left: 0.3em;
vertical-align: middle;
content: "";
border-top: 0.3em solid;
border-right: 0.3em solid transparent;
border-left: 0.3em solid transparent;
}
}
.btn-group {
@ -200,7 +194,7 @@ $web-font-path: "https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&
.btn + .btn,
.btn + .btn-group > .dropdown-toggle {
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4);
box-shadow: 1px 1px 4px rgba(0, 0, 0, .4);
}
}
@ -231,7 +225,7 @@ p {
> tbody > tr,
> tbody > tr > th,
> tbody > tr > td {
transition: all 0.2s;
transition: background-color .2s, color .2s;
}
}
@ -257,17 +251,17 @@ p {
textarea,
textarea.form-control,
input.form-control,
input[type=text],
input[type=password],
input[type=email],
input[type=number],
[type=text].form-control,
[type=password].form-control,
[type=email].form-control,
[type=tel].form-control,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
[type="text"].form-control,
[type="password"].form-control,
[type="email"].form-control,
[type="tel"].form-control,
[contenteditable].form-control {
box-shadow: inset 0 -1px 0 #ddd;
transition: box-shadow 0.2s;
transition: box-shadow .2s;
&:focus {
box-shadow: inset 0 -2px 0 $primary;
@ -292,9 +286,9 @@ input[type=number],
select,
select.form-control {
appearance: none;
padding: 0.5rem 0;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAJ1BMVEVmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmaP/QSjAAAADHRSTlMAAgMJC0uWpKa6wMxMdjkoAAAANUlEQVR4AeXJyQEAERAAsNl7Hf3X6xt0QL6JpZWq30pdvdadme+0PMdzvHm8YThHcT1H7K0BtOMDniZhWOgAAAAASUVORK5CYII=);
background-size: 13px;
padding: .5rem 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4' viewBox='0 0 8 4'%3E%3Cpolygon fill='%23666' points='8 0 4 4 0 0'/%3E%3C/svg%3E%0A");
background-size: 8px 4px;
background-repeat: no-repeat;
background-position: right center;
box-shadow: inset 0 -1px 0 #ddd;
@ -315,7 +309,7 @@ select.form-control {
&:focus {
box-shadow: inset 0 -2px 0 $primary;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAMAAACelLz8AAAAJ1BMVEUhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISF8S9ewAAAADHRSTlMAAgMJC0uWpKa6wMxMdjkoAAAANUlEQVR4AeXJyQEAERAAsNl7Hf3X6xt0QL6JpZWq30pdvdadme+0PMdzvHm8YThHcT1H7K0BtOMDniZhWOgAAAAASUVORK5CYII=);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4' viewBox='0 0 8 4'%3E%3Cpolygon fill='%23212121' points='8 0 4 4 0 0'/%3E%3C/svg%3E%0A");
}
&[multiple] {
@ -342,52 +336,56 @@ select.form-control {
}
.custom-checkbox .custom-control-input:checked {
~ .custom-control-label::before {
background-image: none;
}
~ .custom-control-label::after {
transform: scale(1.5);
}
}
.custom-radio .custom-control-input {
~ .custom-control-label::after {
transform: scale(.75);
}
&:checked {
~ .custom-control-label::before {
background: $white;
background-color: $white;
background-image: none;
transition: border-color .24s;
}
~ .custom-control-label::after {
transform: scale(1.125);
transition: 240ms;
}
}
& {
~ .custom-control-label::after {
transform: scale(.75);
transition: background-image .24s, transform .24s;
}
}
}
.custom-switch {
.custom-control-label::before {
top: 0.125rem;
height: 0.875rem;
background: $gray-500;
top: .125rem;
height: .875rem;
background-color: $gray-500;
border: none;
}
.custom-control-input:disabled ~ .custom-control-label {
opacity: 0.7;
.custom-control-input:disabled ~ .custom-control-label {
opacity: .7;
}
.custom-control-input:disabled ~ .custom-control-label::before {
background: $gray-500;
background-color: $gray-500;
}
.custom-control-label::after {
background-color: #fff;
box-shadow: 0 1px 4px rgba(0,0,0,.3);
background-color: $white;
box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
}
.custom-control-input:checked ~ .custom-control-label::before {
opacity: 0.38;
opacity: .38;
}
.custom-control-input:checked ~ .custom-control-label::after {
@ -395,31 +393,27 @@ select.form-control {
}
.custom-control-input:hover:not(:disabled) ~ .custom-control-label::after {
box-shadow: 0 1px 4px rgba(0,0,0,.3), 0 0 0 9px rgba(0,0,0,0.05);
box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 0 9px rgba(0, 0, 0, .05);
}
.custom-control-input:focus:not(:disabled) ~ .custom-control-label::after {
box-shadow: 0 1px 4px rgba(0,0,0,.3), 0 0 0 9px rgba(0,0,0,0.09);
box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 0 9px rgba(0, 0, 0, .09);
}
.custom-control-input:active:not(:disabled) ~ .custom-control-label::after {
box-shadow: 0 1px 4px rgba(0,0,0,.3), 0 0 0 9px rgba(0,0,0,0.16);
box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 0 9px rgba(0, 0, 0, .16);
}
.custom-control-input:hover:checked:not(:disabled) ~ .custom-control-label::after {
box-shadow: 0 1px 4px rgba(0,0,0,.3), 0 0 0 9px rgba(33,150,243,0.05);
box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 0 9px rgba(33, 150, 243, .05);
}
.custom-control-input:focus:checked:not(:disabled) ~ .custom-control-label::after {
box-shadow: 0 1px 4px rgba(0,0,0,.3), 0 0 0 9px rgba(33,150,243,0.09);
box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 0 9px rgba(33, 150, 243, .09);
}
.custom-control-input:active:checked:not(:disabled) ~ .custom-control-label::after {
box-shadow: 0 1px 4px rgba(0,0,0,.3), 0 0 0 9px rgba(33,150,243,0.16);
}
.custom-control-input:active:not(:checked) ~ .custom-control-label::before {
background-color: $gray-500;
box-shadow: 0 1px 4px rgba(0, 0, 0, .3), 0 0 0 9px rgba(33, 150, 243, .16);
}
.custom-control-input:active:not(:checked) ~ .custom-control-label::before {
@ -428,12 +422,12 @@ select.form-control {
}
.has-warning {
input:not([type=checkbox]),
input:not([type="checkbox"]),
.form-control,
input.form-control[readonly],
input[type=text][readonly],
[type=text].form-control[readonly],
input:not([type=checkbox]):focus,
input[type="text"][readonly],
[type="text"].form-control[readonly],
input:not([type="checkbox"]):focus,
.form-control:focus {
border-bottom: none;
box-shadow: inset 0 -2px 0 $warning;
@ -441,12 +435,12 @@ select.form-control {
}
.has-danger {
input:not([type=checkbox]),
input:not([type="checkbox"]),
.form-control,
input.form-control[readonly],
input[type=text][readonly],
[type=text].form-control[readonly],
input:not([type=checkbox]):focus,
input[type="text"][readonly],
[type="text"].form-control[readonly],
input:not([type="checkbox"]):focus,
.form-control:focus {
border-bottom: none;
box-shadow: inset 0 -2px 0 $danger;
@ -454,12 +448,12 @@ select.form-control {
}
.has-success {
input:not([type=checkbox]),
input:not([type="checkbox"]),
.form-control,
input.form-control[readonly],
input[type=text][readonly],
[type=text].form-control[readonly],
input:not([type=checkbox]):focus,
input[type="text"][readonly],
[type="text"].form-control[readonly],
input:not([type="checkbox"]):focus,
.form-control:focus {
border-bottom: none;
box-shadow: inset 0 -2px 0 $success;
@ -468,7 +462,9 @@ select.form-control {
// Remove the Bootstrap feedback styles for input addons
.input-group-addon {
.has-warning &, .has-danger &, .has-success & {
.has-warning &,
.has-danger &,
.has-success & {
color: $input-color;
border-color: $input-group-addon-border-color;
background-color: $input-group-addon-bg;
@ -476,23 +472,21 @@ select.form-control {
}
.input-group {
> .input-group-prepend > .input-group-text {
padding-right: 0.25rem;
padding-right: .25rem;
}
> .input-group-append > .input-group-text {
padding-left: 0.25rem;
padding-left: .25rem;
}
.form-control {
padding-left: 0.25rem;
padding-right: 0.25rem;
padding-left: .25rem;
padding-right: .25rem;
}
}
.input-group-sm {
> .input-group-prepend > .btn,
> .input-group-append > .btn {
padding: $input-btn-padding-y-sm $input-btn-padding-x-sm;
@ -518,7 +512,6 @@ select.form-control {
}
.input-group-lg {
> .input-group-prepend > .btn,
> .input-group-append > .btn {
padding: $input-btn-padding-y-lg $input-btn-padding-x-lg;
@ -565,7 +558,7 @@ select.form-control {
border: none;
color: $body-color;
box-shadow: inset 0 -1px 0 #ddd;
transition: all 0.2s;
transition: color .2s, box-shadow .2s;
&:hover {
background-color: transparent;
@ -591,7 +584,6 @@ select.form-control {
}
&.nav-justified {
.nav-link,
.nav-link:hover,
.nav-link:focus,
@ -610,7 +602,7 @@ select.form-control {
.dropdown-menu {
margin-top: 0;
border: none;
box-shadow: 0 1px 4px rgba(0,0,0,.3);
box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
}
// Indicators ==================================================================
@ -619,8 +611,14 @@ select.form-control {
padding-right: 2.5rem;
border: none;
&, h1, h2, h3, h4, h5, h6 {
color: #fff;
&,
h1,
h2,
h3,
h4,
h5,
h6 {
color: $white;
}
@each $color, $value in $theme-colors {
@ -635,26 +633,25 @@ select.form-control {
a:not(.btn),
.alert-link {
color: #fff;
font-weight: bold;
color: $white;
font-weight: 700;
}
.close {
color: #fff;
color: $white;
}
&-secondary,
&-light {
&,
& a:not(.btn),
& .alert-link {
a:not(.btn),
.alert-link {
color: $body-color;
}
}
}
.badge {
&-secondary {
background-color: $gray-500;
color: $white;
@ -670,17 +667,15 @@ select.form-control {
}
.tag {
padding: 4px 6px 4px;
padding: 4px 6px;
}
// Progress bars ===============================================================
// Containers ==================================================================
.close {
line-height: 0.5;
opacity: 0.6;
transition: all 0.2s;
line-height: .5;
opacity: .6;
transition: opacity .2s;
&:hover {
opacity: 1;
@ -688,7 +683,7 @@ select.form-control {
}
.card {
box-shadow: 0 1px 4px rgba(0,0,0,.4);
box-shadow: 0 1px 4px rgba(0, 0, 0, .4);
&.border-primary,
&.border-secondary,
@ -704,31 +699,41 @@ select.form-control {
.alert-dismissible {
.close {
padding: 0.5rem 0.75rem;
padding: .5rem .75rem;
}
}
.list-group {
&-item-action.active {
h1, h2, h3, h4, h5, h6 {
h1,
h2,
h3,
h4,
h5,
h6 {
color: $white;
}
}
}
.modal-content {
border-radius: 0.2rem;
box-shadow: 0 6px 36px rgba(0,0,0,.3);
border-radius: .2rem;
box-shadow: 0 6px 36px rgba(0, 0, 0, .3);
}
.popover {
border: none;
box-shadow: 0 1px 4px rgba(0,0,0,.3);
box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
}
.carousel {
&-caption {
h1, h2, h3, h4, h5, h6 {
h1,
h2,
h3,
h4,
h5,
h6 {
color: inherit;
}
}