Nevertheless you should stick to the suggested naming scheme because it makes
it easier for you to use glob expressions once it's supported in the future.
-To change the variable defaults you can overwrite them in the file
-``./frontend/src/vendor.variables.scss``. Just reassign the variable you want
-to change, for example ``$color-primary: teal;``
+To change the variable defaults or add your own ones you can overwrite them in
+``./frontend/src/styles/vendor/_variables.scss``.
+Just reassign the variable you want to change, for example ``$color-primary: teal;``
To overwrite or extend the default CSS, you can add your own styles in
-``./frontend/src/vendor.overrides.scss``.
+``./frontend/src/styles/vendor/_style-overrides.scss``.
I18N
----
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
// Angular2-Tree Component
::ng-deep cd-cephfs-directories tree-root {
}
.quota-origin {
- color: bd.$primary;
+ color: vv.$primary;
cursor: pointer;
&:hover {
- color: bd.$gray-900;
+ color: vv.$gray-900;
}
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
p {
font-family: monospace;
}
.err {
- color: bd.$danger;
+ color: vv.$danger;
}
.warn {
- color: bd.$warning;
+ color: vv.$warning;
}
.info {
- color: bd.$info;
+ color: vv.$info;
}
.debug {
- color: bd.$gray-700;
+ color: vv.$gray-700;
}
}
@use './src/styles/chart-tooltip';
-@use './src/styles/defaults/bootstrap-defaults' as bd;
$canvas-width: 100%;
$canvas-height: 100%;
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
cd-info-card {
padding: 0 0.5vw;
}
.card-text-error {
- color: bd.$danger;
+ color: vv.$danger;
display: inline;
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
.info-card-popover-cluster-status {
max-height: 20vh;
}
}
-@media (max-width: bd.$screen-lg-max) {
+@media (max-width: vv.$screen-lg-max) {
.info-card-popover-cluster-status {
max-width: 31vw;
}
}
-@media (max-width: bd.$screen-md-max) {
+@media (max-width: vv.$screen-md-max) {
.info-card-popover-cluster-status {
max-width: 46vw;
}
}
-@media (max-width: bd.$screen-sm-max) {
+@media (max-width: vv.$screen-sm-max) {
.info-card-popover-cluster-status {
max-width: 83vw;
}
}
.info-card-content-clickable {
- border: 1px solid bd.$gray-200;
+ border: 1px solid vv.$gray-200;
border-radius: 3px;
cursor: pointer;
padding: 7px;
}
.info-card-content-clickable:hover {
- background-color: bd.$gray-200;
- border-color: bd.$gray-400;
+ background-color: vv.$gray-200;
+ border-color: vv.$gray-400;
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
@use './src/styles/defaults/mixins';
$card-font-min-width: 320px;
$card-font-min-size,
$card-font-max-size
);
- border: 0.5px solid bd.$gray-300;
+ border: 0.5px solid vv.$gray-300;
border-radius: 3px;
height: 100%;
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
::ng-deep cd-pool-list {
.pg-clean {
- color: bd.$success;
+ color: vv.$success;
}
.pg-working {
- color: bd.$primary;
+ color: vv.$primary;
}
.pg-warning {
- color: bd.$warning;
+ color: vv.$warning;
}
.pg-unknown {
- color: bd.$danger;
+ color: vv.$danger;
}
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
::ng-deep cd-login-password-form {
h4 {
.btn-password:focus,
.form-control,
.form-control:focus {
- background-color: bd.$gray-800;
- color: bd.$white;
+ background-color: vv.$gray-800;
+ color: vv.$white;
}
.form-control::placeholder {
- color: bd.$gray-500;
+ color: vv.$gray-500;
}
.btn-password:focus {
- outline-color: bd.$primary;
+ outline-color: vv.$primary;
}
button.btn:not(:first-child) {
@use 'sass:map';
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
-$dark-secondary: darken(bd.$secondary, 4%);
+$dark-secondary: darken(vv.$secondary, 4%);
::ng-deep cd-login {
.form-group {
background-color: $dark-secondary;
- border-left: 4px solid bd.$white;
+ border-left: 4px solid vv.$white;
height: auto;
margin-bottom: 2rem;
&:focus-within {
- border-left: 4px solid map.get(bd.$theme-colors, 'accent');
+ border-left: 4px solid map.get(vv.$theme-colors, 'accent');
}
}
background-color: $dark-secondary;
border: 0;
box-shadow: none;
- color: bd.$body-color-bright;
+ color: vv.$body-color-bright;
filter: none;
outline: none;
}
.placeholder {
- color: bd.$gray-600;
+ color: vv.$gray-600;
}
.btn-password:focus {
- outline-color: bd.$primary;
+ outline-color: vv.$primary;
}
}
@keyframes autofill {
to {
background-color: $dark-secondary;
- color: bd.$body-color-bright;
+ color: vv.$body-color-bright;
}
}
animation-name: autofill;
border-radius: 0;
box-shadow: 0 0 0 1000px $dark-secondary inset;
- -webkit-text-fill-color: bd.$body-color-bright;
+ -webkit-text-fill-color: vv.$body-color-bright;
transition-property: none;
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
.fa {
font-size: large;
&.fa-square-o {
- color: bd.$gray-400;
+ color: vv.$gray-400;
}
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
::ng-deep cd-login-layout .login {
- background-color: bd.$secondary;
+ background-color: vv.$secondary;
background-image: url('../../../../assets/ceph_background.gif');
background-position: right bottom;
background-repeat: no-repeat;
- color: bd.$body-color-bright;
+ color: vv.$body-color-bright;
header {
position: absolute;
li a {
&:hover {
- background-color: bd.$primary;
+ background-color: vv.$primary;
}
}
}
}
a {
- color: bd.$fg-color-over-dark-bg;
+ color: vv.$fg-color-over-dark-bg;
&:hover {
- color: bd.$fg-hover-color-over-dark-bg;
+ color: vv.$fg-hover-color-over-dark-bg;
}
}
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
.dashboard {
- background-color: bd.$gray-200;
+ background-color: vv.$gray-200;
margin: 0;
padding: 0;
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
.about-container {
- background-color: bd.$secondary;
+ background-color: vv.$secondary;
background-image: url('../../../../assets/ceph_background.gif');
background-position: right bottom;
background-repeat: no-repeat;
- color: bd.$white;
- text-shadow: 1px 1px bd.$secondary;
+ color: vv.$white;
+ text-shadow: 1px 1px vv.$secondary;
}
.product-versions {
}
.modal-header .close {
- color: bd.$white;
+ color: vv.$white;
font-size: 2em;
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
/* ---------------------------------------------------
NAVBAR STYLE
::ng-deep cd-navigation .cd-navbar-top {
.cd-navbar-brand {
- background: bd.$secondary;
- border-top: 4px solid bd.$primary;
+ background: vv.$secondary;
+ border-top: 4px solid vv.$primary;
&.isPwdDisplayed {
- top: bd.$top-notification-height;
+ top: vv.$top-notification-height;
}
.navbar-brand,
.navbar-brand:hover {
- color: bd.$gray-200;
+ color: vv.$gray-200;
height: auto;
padding: 0;
}
}
.fa-navicon {
- color: bd.$gray-200;
+ color: vv.$gray-200;
}
}
}
.cd-navbar-utility > .active > a {
- background-color: bd.$primary;
- color: bd.$gray-200;
+ background-color: vv.$primary;
+ color: vv.$gray-200;
}
.cd-navbar-utility > li > .open > a,
.cd-navbar-utility > li > .open > a:hover {
background-color: transparent;
border-color: transparent;
- color: bd.$gray-200;
+ color: vv.$gray-200;
}
}
.navbar-nav > li > .cd-navbar > [ngbDropdown] > a,
.navbar-nav > li > .cd-navbar > a,
.navbar-nav > li > a {
- color: bd.$gray-200;
+ color: vv.$gray-200;
display: block;
line-height: 1;
padding: 13.5px 18px !important;
.navbar-nav .nav-link,
.navbar-nav .nav-link:hover {
- color: bd.$gray-200;
+ color: vv.$gray-200;
}
.navbar-nav > li > .cd-navbar > [ngbDropdown] > a:hover,
.navbar-nav > li > .cd-navbar > a:hover,
.navbar-nav > li > a:hover,
.navbar-nav > li:hover {
- background-color: bd.$primary;
+ background-color: vv.$primary;
}
.navbar-nav > .open > .cd-navbar > [ngbDropdown] > a,
.navbar-nav > .open > a:hover {
background-color: transparent;
border-color: transparent;
- color: bd.$gray-200;
+ color: vv.$gray-200;
}
- @media (min-width: bd.$screen-md-min) {
+ @media (min-width: vv.$screen-md-min) {
.cd-navbar-utility {
border-bottom: 0;
font-size: 1.1rem;
}
}
- @media (max-width: bd.$screen-sm-max) {
+ @media (max-width: vv.$screen-sm-max) {
.navbar-nav {
margin: 0;
}
.open .dropdown-menu {
- background-color: bd.$primary;
+ background-color: vv.$primary;
border: 0;
padding-bottom: 0;
padding-top: 0;
}
.open .dropdown-menu > li > a {
- color: bd.$gray-200;
+ color: vv.$gray-200;
padding: 5px 15px 5px 35px;
}
.open .dropdown-menu > .active > a {
- background-color: bd.$primary;
+ background-color: vv.$primary;
}
}
.navbar-nav > li > a:hover {
- background-color: bd.$primary;
+ background-color: vv.$primary;
}
}
}
.cd-navbar-primary .active > a,
.cd-navbar-primary > .active > a:focus,
.cd-navbar-primary > .active > a:hover {
- background-color: bd.$primary !important;
+ background-color: vv.$primary !important;
border: 0 !important;
- color: bd.$gray-200 !important;
+ color: vv.$gray-200 !important;
}
.wrapper {
width: 100%;
#sidebar {
- background: bd.$secondary;
+ background: vv.$secondary;
bottom: 0;
- color: bd.$white;
+ color: vv.$white;
left: 0;
overflow-y: auto;
position: fixed;
- top: bd.$navbar-height;
+ top: vv.$navbar-height;
transition: all 0.3s;
width: $sidebar-width;
z-index: 999;
}
p {
- color: bd.$white;
+ color: vv.$white;
padding: 10px;
}
li a {
- color: bd.$white;
+ color: vv.$white;
display: block;
font-size: 1.1em;
padding: 10px;
text-decoration: none;
&:hover {
- background: bd.$primary;
- color: bd.$white;
+ background: vv.$primary;
+ color: vv.$white;
}
> .badge {
li.active > a,
li > a a[aria-expanded='true'] {
- color: bd.$white;
+ color: vv.$white;
}
}
}
}
ul ul a {
- background: lighten(bd.$secondary, 10);
+ background: lighten(vv.$secondary, 10);
font-size: 0.9em !important;
padding-left: 40px !important;
}
bottom: 0;
position: absolute;
right: 0;
- top: bd.$navbar-height;
+ top: vv.$navbar-height;
transition: all 0.3s;
width: calc(100% - #{$sidebar-width});
@for $i from 1 through 2 {
:host.top-notification-#{$i} {
.cd-navbar-top .cd-navbar-brand {
- top: bd.$top-notification-height * $i;
+ top: vv.$top-notification-height * $i;
}
#sidebar {
- top: bd.$navbar-height + bd.$top-notification-height * $i;
+ top: vv.$navbar-height + vv.$top-notification-height * $i;
}
#content {
- top: bd.$navbar-height + bd.$top-notification-height * $i;
+ top: vv.$navbar-height + vv.$top-notification-height * $i;
}
cd-notifications-sidebar {
- top: bd.$navbar-height + bd.$top-notification-height * $i + 10px;
+ top: vv.$navbar-height + vv.$top-notification-height * $i + 10px;
}
}
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
.running i {
- color: bd.$primary;
+ color: vv.$primary;
}
.running:hover i {
- color: bd.$white;
+ color: vv.$white;
}
a {
.dot {
- background-color: bd.$primary;
- border: 2px solid bd.$secondary;
+ background-color: vv.$primary;
+ border: 2px solid vv.$secondary;
border-radius: 50%;
height: 11px;
position: absolute;
}
&:hover .dot {
- background-color: bd.$white;
- border-color: bd.$primary;
+ background-color: vv.$white;
+ border-color: vv.$primary;
}
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
i {
- color: bd.$primary;
+ color: vv.$primary;
cursor: pointer;
padding-left: 4px;
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
:host {
bottom: 10px;
max-width: 90vw;
position: fixed;
right: -350px;
- top: bd.$navbar-height + 10px;
+ top: vv.$navbar-height + 10px;
transition: all 0.6s;
}
.separator {
- background-color: bd.$gray-200;
- color: bd.$gray-600;
+ background-color: vv.$gray-200;
+ color: vv.$gray-600;
font-size: 1rem;
padding: 5px 12px;
}
.btn-link .fa-trash-o {
- color: bd.$black;
+ color: vv.$black;
}
table {
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
.badge-remove {
- color: bd.$white;
+ color: vv.$white;
}
i.fa-pencil {
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
.select-menu-item {
- border-bottom: 1px solid bd.$datatable-divider-color;
+ border-bottom: 1px solid vv.$datatable-divider-color;
cursor: pointer;
display: block;
font-size: 1rem;
&:hover {
- background-color: bd.$gray-200;
+ background-color: vv.$gray-200;
}
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
.bg-info {
- background-color: bd.$primary !important;
+ background-color: vv.$primary !important;
}
.bg-freespace {
- background-color: bd.$gray-400 !important;
+ background-color: vv.$gray-400 !important;
}
.progress {
}
span {
- color: bd.$black;
+ color: vv.$black;
display: block;
font-weight: normal;
position: absolute;
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
@use './src/styles/defaults/mixins';
@mixin row-details-icon {
- color: bd.$gray-900;
+ color: vv.$gray-900;
font-family: 'ForkAwesome', sans-serif;
font-size: 1rem;
line-height: 1;
margin-bottom: 25px;
.separator {
- border-left: 1px solid bd.$datatable-divider-color;
+ border-left: 1px solid vv.$datatable-divider-color;
display: inline-block;
height: 30px;
margin-left: 5px;
}
.widget-toolbar {
- border-left: 1px solid bd.$datatable-divider-color;
+ border-left: 1px solid vv.$datatable-divider-color;
float: right;
padding: 0 8px;
}
.dataTables_header {
- background-color: bd.$gray-100;
- border: 1px solid bd.$gray-400;
+ background-color: vv.$gray-100;
+ border: 1px solid vv.$gray-400;
border-bottom: 0;
padding: 5px;
position: relative;
}
.input-group {
- border-left: 1px solid bd.$datatable-divider-color;
+ border-left: 1px solid vv.$datatable-divider-color;
float: right;
max-width: 250px;
padding-left: 8px;
padding: 0 8px;
.badge-remove {
- color: bd.$white;
+ color: vv.$white;
}
}
}
::ng-deep cd-table .cd-datatable {
- border: 1px solid bd.$gray-400;
+ border: 1px solid vv.$gray-400;
margin-bottom: 0;
max-width: none !important;
width: 100%;
.container {
- background-color: bd.$primary;
+ background-color: vv.$primary;
.bar {
- background-color: bd.$primary;
+ background-color: vv.$primary;
height: 100%;
left: 0;
overflow: hidden;
.bar::before {
animation: progress-loading 3s linear infinite;
- background-color: bd.$primary;
+ background-color: vv.$primary;
content: '';
display: block;
height: 100%;
.datatable-header {
background-clip: padding-box;
- background-color: bd.$gray-100;
- background-image: linear-gradient(to bottom, bd.$gray-100 0, bd.$gray-200 100%);
+ background-color: vv.$gray-100;
+ background-image: linear-gradient(to bottom, vv.$gray-100 0, vv.$gray-200 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa', endColorstr='#ffededed', GradientType=0);
.sort-asc,
.sort-desc {
- color: bd.$primary;
+ color: vv.$primary;
}
.datatable-header-cell {
margin-bottom: -6px;
.empty-row {
- background-color: lighten(bd.$primary, 45%);
+ background-color: lighten(vv.$primary, 45%);
font-style: italic;
font-weight: bold;
padding-bottom: 5px;
.datatable-body-row {
&.clickable:hover .datatable-row-group {
- background-color: lighten(bd.$primary, 45%);
+ background-color: lighten(vv.$primary, 45%);
transition-duration: 0.3s;
transition-property: background;
transition-timing-function: linear;
}
&.datatable-row-even {
- background-color: bd.$white;
+ background-color: vv.$white;
}
&.datatable-row-odd {
- background-color: bd.$gray-100;
+ background-color: vv.$gray-100;
}
&.active,
&.active:hover {
- background-color: lighten(bd.$primary, 35%);
+ background-color: lighten(vv.$primary, 35%);
}
.datatable-body-cell {
}
.datatable-row-detail {
- border-bottom: 2px solid bd.$gray-400;
+ border-bottom: 2px solid vv.$gray-400;
overflow-y: visible !important;
padding: 20px;
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
.chart-container {
cursor: pointer;
}
.chartjs-tooltip {
- background: rgba(bd.$black, 0.7);
+ background: rgba(vv.$black, 0.7);
border-radius: 3px;
- color: bd.$white;
+ color: vv.$white;
font-family: 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif !important;
opacity: 0;
pointer-events: none;
}
.chartjs-tooltip::after {
- border-color: bd.$black transparent transparent transparent;
+ border-color: vv.$black transparent transparent transparent;
border-style: solid;
border-width: 5px;
content: ' ';
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
/* Basics */
html {
- background-color: bd.$body-bg;
+ background-color: vv.$body-bg;
}
html,
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
/* Reset checkbox success color */
.was-validated .custom-control-input:valid,
/* Buttons */
.btn-light {
- background-color: bd.$white;
- border-color: bd.$gray-400 !important;
+ background-color: vv.$white;
+ border-color: vv.$gray-400 !important;
&:hover {
- background-color: bd.$gray-300;
- border-color: bd.$gray-600 !important;
+ background-color: vv.$gray-300;
+ border-color: vv.$gray-600 !important;
}
}
}
.btn-primary .badge {
- background-color: bd.$gray-200;
- color: bd.$primary;
+ background-color: vv.$gray-200;
+ color: vv.$primary;
}
.btn-group > .btn > i.fa,
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
/* Dropdown */
.dropdown-menu {
}
.dropdown-menu > .active > a {
- background-color: bd.$primary;
- color: bd.$gray-200;
+ background-color: vv.$primary;
+ color: vv.$gray-200;
&,
&:hover,
&:focus {
- background-color: darken(bd.$primary, 10);
+ background-color: darken(vv.$primary, 10);
}
}
-@use '../defaults/bootstrap-defaults' as bd;
+@use '../vendor/variables' as vv;
/* Forms */
.required::after {
- color: bd.$danger;
+ color: vv.$danger;
content: '*';
font-size: 1.167rem;
padding-left: 4px;
display: table-cell;
&:focus {
- border-color: rgba(bd.$primary, 0.8);
- box-shadow: inset 0 1px 1px rgba(bd.$black, 0.75), 0 0 8px 2px rgba(bd.$primary, 0.5);
+ border-color: rgba(vv.$primary, 0.8);
+ box-shadow: inset 0 1px 1px rgba(vv.$black, 0.75), 0 0 8px 2px rgba(vv.$primary, 0.5);
outline: 0;
}
}
-@use '../defaults/bootstrap-defaults' as bd;
+@use '../vendor/variables' as vv;
/* Grid */
.container-fluid {
- padding: 0 bd.$grid-gutter-width;
+ padding: 0 vv.$grid-gutter-width;
}
-@use '../defaults/bootstrap-defaults' as bd;
+@use '../vendor/variables' as vv;
.nav-tabs {
- margin-bottom: bd.$nav-tabs-margin-bottom;
+ margin-bottom: vv.$nav-tabs-margin-bottom;
}
-@use './src/styles/defaults/bootstrap-defaults' as bd;
+@use './src/styles/vendor/variables' as vv;
#toast-container {
margin-top: 2vw;
margin-top: 2.5vw;
}
- @media (max-width: bd.$screen-md-max) {
+ @media (max-width: vv.$screen-md-max) {
margin-top: 9vw;
}
-@use '../vendor/variables';
-
// Color system
$white: #fff !default;
$blue: #007bff !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
-$pink: #a94442;
-$red: #ef5c55;
+$pink: #a94442 !default;
+$red: #ef5c55 !default;
$orange: #fd7e14 !default;
-$yellow: #ffc200;
-$green: #0b0;
+$yellow: #ffc200 !default;
+$green: #0b0 !default;
$teal: #20c997 !default;
$cyan: #17a2b8 !default;
-$primary: #2b99a8;
-$secondary: #374249;
-$success: $green;
-$info: $primary;
-$warning: $yellow;
-$danger: $red;
-$light: $gray-100;
-$dark: #777;
+$primary: #2b99a8 !default;
+$secondary: #374249 !default;
+$success: $green !default;
+$info: $primary !default;
+$warning: $yellow !default;
+$danger: $red !default;
+$light: $gray-100 !default;
+$dark: #777 !default;
+
+// Extra theme colors.
+$accent: $red !default;
+$warning-dark: $orange !default;
-$fg-color-over-dark-bg: $white;
-$fg-hover-color-over-dark-bg: $gray-500;
+$fg-color-over-dark-bg: $white !default;
+$fg-hover-color-over-dark-bg: $gray-500 !default;
$theme-colors: (
- 'accent': #ef5c55,
- 'warning-dark': $orange
-);
+ 'accent': $accent,
+ 'warning-dark': $warning-dark
+) !default;
// Body
-$body-color-bright: $light;
-$body-bg: $white;
-$body-color: $gray-900;
+$body-color-bright: $light !default;
+$body-bg: $white !default;
+$body-color: $gray-900 !default;
// Typography
$font-family-sans-serif: 'Helvetica Neue', Helvetica, Arial, 'Noto Sans', sans-serif,
- 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
+ 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji' !default;
// Card
-$card-cap-bg: $gray-100;
+$card-cap-bg: $gray-100 !default;
// Grid
-$grid-gutter-width: 30px;
+$grid-gutter-width: 30px !default;
// Table
-$datatable-divider-color: rgba($black, 0.09);
+$datatable-divider-color: rgba($black, 0.09) !default;
// Navs
-$nav-tabs-margin-bottom: 1rem;
+$nav-tabs-margin-bottom: 1rem !default;
// Tooltips
-$tooltip-color: $white;
-$tooltip-bg: $body-color;
+$tooltip-color: $white !default;
+$tooltip-bg: $body-color !default;
// Misc
$screen-lg-min: 992px !default;
$screen-xl-min: 1200px !default;
-$screen-xs-max: calc(#{$screen-sm-min} - 1px);
-$screen-sm-max: calc(#{$screen-md-min} - 1px);
-$screen-md-max: calc(#{$screen-lg-min} - 1px);
-$screen-lg-max: calc(#{$screen-xl-min} - 1px);
+$screen-xs-max: calc(#{$screen-sm-min} - 1px) !default;
+$screen-sm-max: calc(#{$screen-md-min} - 1px) !default;
+$screen-md-max: calc(#{$screen-lg-min} - 1px) !default;
+$screen-lg-max: calc(#{$screen-xl-min} - 1px) !default;
-$navbar-height: 43px;
-$top-notification-height: 37.6px;
+$navbar-height: 43px !default;
+$top-notification-height: 37.6px !default;
-@use '../vendor';
+@forward '../vendor';
-@forward 'bootstrap-defaults';
@forward 'functions';
@forward 'mixins';
-@use '../vendor/variables';
-@use 'bootstrap-defaults' as bd;
+@use '../vendor/variables' as vv;
@use 'functions';
@mixin table-cell {
border: 0;
- border-bottom: 1px solid bd.$gray-400;
- border-left: 1px solid bd.$gray-400;
+ border-bottom: 1px solid vv.$gray-400;
+ border-left: 1px solid vv.$gray-400;
padding: 5px;
}
@mixin hf {
- background-color: bd.$gray-200;
- border-bottom: 1px solid bd.$gray-400;
+ background-color: vv.$gray-200;
+ border-bottom: 1px solid vv.$gray-400;
}
@mixin fluid-font-size($min-vw, $max-vw, $min-font-size, $max-font-size) {
-@use 'style-overrides';
-@use 'variables';
+@forward 'style-overrides';
+@forward 'variables';
-/* Vendor specific scss */
+/* Vendor specific scss
+
+Custom styles, third-party libraries, frameworks, design systems, ...
+*/
-/* Vendor specific variables */
+/* Vendor specific variables
+
+Example:
+$my-accent-color: #a18fff
+*/
+
+/* Bootstrap variables that are already defined can be overridden using configuration:
+https://sass-lang.com/documentation/at-rules/forward#configuring-modules
+
+Example:
+@forward '../defaults/bootstrap-defaults' with (
+ $theme-colors: (
+ 'accent': $my-accent-color
+ )
+);
+*/
+@forward '../defaults/bootstrap-defaults';