Files
dspace-angular/src/styles/_global-styles.scss
2023-10-30 17:36:37 +01:00

320 lines
6.8 KiB
SCSS

html {
position: relative;
min-height: 100%;
}
body {
overflow-x: hidden;
}
// Sticky Footer
.outer-wrapper {
display: flex;
margin: 0;
}
.inner-wrapper {
flex: 1 1 auto;
flex-flow: column nowrap;
display: flex;
min-height: 100vh;
flex-direction: column;
width: 100%;
position: relative;
}
.main-content {
z-index: var(--ds-main-z-index);
flex: 1 1 100%;
margin-top: var(--ds-content-spacing);
margin-bottom: var(--ds-content-spacing);
}
.alert.hide {
padding: 0;
margin: 0;
}
ds-admin-sidebar {
position: fixed;
z-index: var(--ds-sidebar-z-index);
}
.sticky-top {
z-index: 0;
}
.media-viewer
.change-gallery
.ngx-gallery
ngx-gallery-preview.ngx-gallery-active {
right: 0;
left: auto;
width: calc(100% - 53px);
}
.ds-submission-reorder-dragging {
.ds-hint,
button {
display: none;
}
}
ngb-modal-backdrop {
// ng-bootsrap animates opacity, causing the fully opaque background to flash briefly before the transition starts
// animating background-color between transparent & a RGBA color instead looks smoother
&.fade {
opacity: 1 !important;
background-color: transparent;
transition: background-color 0.15s linear;
&.show {
background-color: rgba(0, 0, 0, 0.5);
}
}
}
.dont-break-out {
/* These are technically the same, but use both */
overflow-wrap: break-word;
word-wrap: break-word;
-ms-word-break: break-all;
/* This is the dangerous one in WebKit, as it breaks things wherever */
word-break: break-all;
/* Instead use this non-standard one: */
word-break: break-word;
/* Adds a hyphen where the word breaks, if supported (No Blink) */
-ms-hyphens: auto;
-moz-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
}
.researcher-profile-switch button:focus {
outline: none !important;
}
.researcher-profile-switch .switch.checked {
color: #fff;
}
/* Replicate default spacing look ~ preserveWhitespace=true
To be used e.g. on a div containing buttons that should have a bit of spacing in between
*/
.space-children-mr > :not(:last-child) {
margin-right: var(--ds-gap);
}
/* Complement .space-children-mr when spaced elements are not on the same level */
.mr-gap {
margin-right: var(--ds-gap);
}
.ml-gap {
margin-left: var(--ds-gap);
}
.custom-accordion .card-header button {
-webkit-box-shadow: none !important;
box-shadow: none !important;
width: 100%;
}
.custom-accordion .card:first-of-type {
border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color) !important;
border-bottom-left-radius: var(--bs-card-border-radius) !important;
border-bottom-right-radius: var(--bs-card-border-radius) !important;
}
ds-dynamic-form-control-container.d-none {
/* Ensures that form-control containers hidden and disabled by type binding collapse and let other fields in
the same row expand accordingly
*/
visibility: collapse;
}
/* Used for dso administrative functionality */
.btn-dark {
background-color: var(--ds-admin-sidebar-bg);
}
.preserve-line-breaks {
white-space: pre-line;
}
/* Thumbnail styles */
.hide-placeholder-text {
.thumbnail-placeholder {
color: transparent !important;
}
}
/* Used to hide the thumbnail column in modals. */
.hide-modal-thumbnail-column {
.modal-body ds-listable-object-component-loader div.row > div:first-child {
display: none;
}
.modal-body ds-listable-object-component-loader div.row > div:nth-child(2) {
flex: 0 0 100%;
max-width: 100%;
}
}
/* The font sizes used in "no thumbnail" placeholder */
.thumb-font-0 {
.thumbnail-placeholder {
@media screen and (max-width: map-get($grid-breakpoints, lg)) {
font-size: 0.7rem;
padding: 0.2rem;
}
@media screen and (max-width: map-get($grid-breakpoints, sm)) {
font-size: 0.6rem;
padding: 0.1rem;
}
font-size: 0.4rem;
padding: 0.1rem;
}
}
.thumb-font-1 {
.thumbnail-placeholder {
@media screen and (max-width: map-get($grid-breakpoints, sm)) {
font-size: 0.9rem;
padding: 0.1rem;
}
@media screen and (max-width: 950px) {
font-size: 0.4rem;
padding: 0.1rem;
}
font-size: 0.5rem;
padding: 0.125rem;
}
}
.thumb-font-2 {
.thumbnail-placeholder {
font-size: 0.9rem;
padding: 0.125rem;
}
}
.thumb-font-3 {
.thumbnail-placeholder {
font-size: 1.25rem;
padding: 0.5rem;
}
}
.btn.btn-link.btn-link-inline {
display: inline;
padding: 0;
&:not(:disabled){
&:hover, &:focus {
box-shadow: none;
}
}
}
.badge-validation {
background-color: #{map-get($theme-colors, warning)};
}
.badge-waiting-controller {
background-color: #{map-get($theme-colors, info)};
}
.badge-workspace {
background-color: #{map-get($theme-colors, primary)};
}
.badge-archived {
background-color: #{map-get($theme-colors, success)};
}
.badge-workflow {
background-color: #{map-get($theme-colors, info)};
}
.badge-item-type {
background-color: #{map-get($theme-colors, info)};
}
.visually-hidden {
position: absolute !important;
width: 1px !important;
height: 1px !important;
padding: 0 !important;
margin: -1px !important;
overflow: hidden !important;
clip: rect(0, 0, 0, 0) !important;
white-space: nowrap !important;
border: 0 !important;
}
ul.dso-edit-menu-dropdown > li .nav-item.nav-link {
// ensure that links in DSO edit menu dropdowns are unstyled (li elements are styled instead to support icons)
padding: 0;
display: inline;
}
.table th,
.table td {
vertical-align: middle;
}
/* Flexbox gap */
.gap-0 { gap: 0; }
.gap-1 { gap: calc(#{$spacer} * .25); }
.gap-2 { gap: calc(#{$spacer} * .5); }
.gap-3 { gap: #{$spacer}; }
.gap-4 { gap: calc(#{$spacer} * 1.5); }
.gap-5 { gap: calc(#{$spacer} * 3); }
.gapx-0 { column-gap: 0; }
.gapx-1 { column-gap: calc(#{$spacer} * .25); }
.gapx-2 { column-gap: calc(#{$spacer} * .5); }
.gapx-3 { column-gap: #{$spacer}; }
.gapx-4 { column-gap: calc(#{$spacer} * 1.5); }
.gapx-5 { column-gap: calc(#{$spacer} * 3); }
.gapy-0 { row-gap: 0; }
.gapy-1 { row-gap: calc(#{$spacer} * .25); }
.gapy-2 { row-gap: calc(#{$spacer} * .5); }
.gapy-3 { row-gap: #{$spacer}; }
.gapy-4 { row-gap: calc(#{$spacer} * 1.5); }
.gapy-5 { row-gap: calc(#{$spacer} * 3); }
.pt-0\.5 {
padding-top: 0.125rem !important;
}
.pr-0\.5 {
padding-right: 0.125rem !important;
}
.pb-0\.5 {
padding-bottom: 0.125rem !important;
}
.pl-0\.5 {
padding-left: 0.125rem !important;
}
.px-0\.5 {
padding-left: 0.125rem !important;
padding-right: 0.125rem !important;
}
.py-0\.5 {
padding-top: 0.125rem !important;
padding-bottom: 0.125rem !important;
}