mirror of
https://github.com/YunoHost/yunohost-admin.git
synced 2024-09-03 20:06:15 +02:00
257 lines
5 KiB
SCSS
257 lines
5 KiB
SCSS
// This is the default scss file, more specific styling is defined directly into components.
|
|
// It it imported in `scr/App.vue` style tag.
|
|
|
|
// Dependencies variables overrides and custom variables
|
|
// Variables overrides are defined before actual SCSS imports
|
|
@import 'variables';
|
|
|
|
// Dependencies SCSS imports
|
|
// `~` allow to import a node_modules folder (resolved by Webpack)
|
|
@import '~bootstrap/scss/root';
|
|
@import '~bootstrap/scss/reboot';
|
|
@import '~bootstrap/scss/type';
|
|
@import '~bootstrap/scss/images';
|
|
@import '~bootstrap/scss/containers';
|
|
@import '~bootstrap/scss/grid';
|
|
@import '~bootstrap/scss/tables';
|
|
@import '~bootstrap/scss/forms';
|
|
@import '~bootstrap/scss/buttons';
|
|
@import '~bootstrap/scss/transitions';
|
|
@import '~bootstrap/scss/dropdown';
|
|
@import '~bootstrap/scss/button-group';
|
|
@import '~bootstrap/scss/nav';
|
|
@import '~bootstrap/scss/navbar';
|
|
@import '~bootstrap/scss/card';
|
|
// @import "~bootstrap/scss/accordion";
|
|
@import '~bootstrap/scss/breadcrumb';
|
|
// @import "~bootstrap/scss/pagination";
|
|
@import '~bootstrap/scss/badge';
|
|
@import '~bootstrap/scss/alert';
|
|
@import '~bootstrap/scss/progress';
|
|
@import '~bootstrap/scss/list-group';
|
|
@import '~bootstrap/scss/close';
|
|
// @import "~bootstrap/scss/toasts";
|
|
@import '~bootstrap/scss/modal';
|
|
@import '~bootstrap/scss/tooltip';
|
|
@import '~bootstrap/scss/popover';
|
|
// @import "~bootstrap/scss/carousel";
|
|
@import '~bootstrap/scss/spinners';
|
|
@import '~bootstrap/scss/offcanvas';
|
|
@import '~bootstrap/scss/placeholders';
|
|
|
|
// Helpers
|
|
@import '~bootstrap/scss/helpers';
|
|
|
|
// Utilities
|
|
@import '~bootstrap/scss/utilities/api';
|
|
|
|
@import '~bootstrap-vue-next/src/styles/styles.scss';
|
|
|
|
// Import fonts
|
|
@import 'font';
|
|
@import '~fork-awesome/scss/fork-awesome.scss';
|
|
|
|
|
|
// Style overrides happens after dependencies imports
|
|
|
|
html {
|
|
min-height: 100vh;
|
|
}
|
|
body {
|
|
overflow-x: hidden;
|
|
min-height: 100vh;
|
|
margin: 0;
|
|
}
|
|
|
|
#app {
|
|
display: flex;
|
|
flex-direction: column;
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.menu-list .list-group-item {
|
|
padding: $list-group-item-padding-y 0;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
// Add breakpoints for w-*
|
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
|
@each $size, $length in $sizes {
|
|
@include media-breakpoint-up($breakpoint) {
|
|
.w-#{$breakpoint}-#{$size} {
|
|
width: $length !important;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Add xs sized btn
|
|
.btn-xs {
|
|
@include button-size(
|
|
$btn-padding-y-xs,
|
|
$btn-padding-x-xs,
|
|
$btn-font-size-sm,
|
|
$btn-line-height-xs,
|
|
$btn-border-radius-sm
|
|
);
|
|
}
|
|
|
|
// Allow state of input group to be displayed under the group
|
|
.input-group .is-invalid ~ .invalid-feedback {
|
|
display: block;
|
|
}
|
|
|
|
.tooltip {
|
|
top: 0;
|
|
}
|
|
// Descriptive list (<b-row /> elems with <b-col> inside)
|
|
// FIXME REMOVE when every infos switch to `DescriptionRow`
|
|
.row-line {
|
|
@include media-breakpoint-up(md) {
|
|
&:hover {
|
|
background-color: rgba($black, 0.05);
|
|
border-radius: 0.2rem;
|
|
}
|
|
}
|
|
|
|
@include media-breakpoint-down(md) {
|
|
flex-direction: column;
|
|
|
|
&:not(:last-of-type) {
|
|
margin-bottom: 0.5rem;
|
|
padding-bottom: 0.5rem;
|
|
border-bottom: $border-width solid $card-border-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
.card + .card,
|
|
.card + .config-panel,
|
|
.config-panel + .card {
|
|
margin-top: 2rem;
|
|
}
|
|
.card-deck .card + .card {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.card-header,
|
|
.list-group-item {
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
.card-header,
|
|
.list-group-item {
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
font-weight: $font-weight-normal;
|
|
}
|
|
}
|
|
|
|
h3.card-title {
|
|
margin-bottom: 1em;
|
|
border-bottom: solid 1px $hr-border-color;
|
|
}
|
|
|
|
// collapse icon
|
|
.not-collapsed > .icon {
|
|
transform: rotate(-90deg);
|
|
}
|
|
.collapsed > .icon {
|
|
transform: rotate(90deg);
|
|
position: relative;
|
|
top: 2px;
|
|
}
|
|
|
|
// limit the size of toggle dropdown buttons to a square
|
|
.dropdown-toggle-split {
|
|
max-width: 2.5rem;
|
|
}
|
|
|
|
// Fork-awesome overrides
|
|
.fa-fw {
|
|
width: 1.25em !important;
|
|
}
|
|
|
|
// custom css
|
|
.actions {
|
|
margin-bottom: 2rem;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
|
|
@include media-breakpoint-down(sm) {
|
|
.buttons {
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
}
|
|
}
|
|
|
|
@include media-breakpoint-down(md) {
|
|
flex-direction: column-reverse;
|
|
margin-bottom: 2rem;
|
|
|
|
.buttons {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
|
|
.btn {
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
@include media-breakpoint-up(md) {
|
|
.btn ~ .btn {
|
|
margin-left: 0.5rem;
|
|
}
|
|
.btn ~ .dropdown-toggle-split {
|
|
margin-left: 0;
|
|
}
|
|
}
|
|
}
|
|
// Do not display ligatures in invalid-feedback to avoid confusion.
|
|
.invalid-feedback {
|
|
code {
|
|
font-variant-ligatures: none;
|
|
}
|
|
}
|
|
|
|
.alert p:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
code {
|
|
background: $gray-300;
|
|
padding: 0.15rem 0.25rem;
|
|
border-radius: $border-radius;
|
|
}
|
|
|
|
pre code {
|
|
padding: 0;
|
|
}
|
|
|
|
.log {
|
|
margin-bottom: 0;
|
|
padding: 1rem;
|
|
background-color: $light;
|
|
overflow: auto;
|
|
}
|
|
|
|
.unselectable {
|
|
-webkit-user-select: none;
|
|
-webkit-touch-callout: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
}
|