// Modals
// Styles for body
body {
&.modal-open {
padding-right: 0 !important;
overflow: auto;
.fixed-top {
padding-right: 1rem !important;
}
.fixed-bottom {
padding-right: 0 !important;
}
}
&.scrollable {
overflow-y: auto;
}
}
// *** ENHANCED BOOTSTRAP MODALS ***///
// General styles
.modal-dialog {
.modal-content {
border: 0;
border-radius: $border-radius-base;
box-shadow: $z-depth-1-half;
.modal-header {
border-top-left-radius: $border-radius-base;
border-top-right-radius: $border-radius-base;
}
}
// Cascading modals
&.cascading-modal {
margin-top: 10%;
.close {
color: $white-base;
text-shadow: none;
outline: 0;
opacity: 1;
}
// Cascading header
.modal-header {
padding: $cascading-modal-padding;
margin: $cascading-modal-margin-top $cascading-modal-margin-right $cascading-modal-margin-bottom $cascading-modal-margin-left;
text-align: center;
border: none;
border-radius: $border-radius-base;
box-shadow: $z-depth-1-half;
.close {
margin-right: $cascading-modal-close-margin-right;
}
.title {
width: 100%;
margin-bottom: 0;
font-size: $cascading-modal-font-size;
.fas, .fab, .far {
margin-right: $cascading-modal-fa-margin-right;
}
}
.social-buttons {
margin-top: $cascading-modal-social-margin-top;
a {
font-size: $cascading-modal-a-font-size;
}
}
}
// Cascading tabs nav
.modal-c-tabs {
.md-tabs {
display: flex;
margin: $cascading-modal-tabs-margin-top $cascading-modal-tabs-margin-x 0 $cascading-modal-tabs-margin-x;
box-shadow: $z-depth-1;
li {
flex: 1;
a {
text-align: center;
}
}
}
.tab-content {
padding: $cascading-modal-tabs-padding-top 0 0 0;
}
/*
.md-tabs {
border-radius: $md-card-border-radius;
.nav-item {
.nav-link {
border-radius: $md-card-border-radius;
background-color: inherit;
color: $white-base;
}
}
}
*/
}
// Footer customization
.modal-body,
.modal-footer {
padding-right: $modal-body-padding-right;
padding-left: $modal-body-padding-left;
color: $grey-darken-2;
.additional-option {
margin-top: $modal-body-margin-top;
text-align: center;
}
}
// Cascading avatar
&.modal-avatar {
margin-top: $modal-avatar-margin-top;
.modal-header {
@extend .img-fluid;
margin: $modal-avatar-header-margin-top 0 $modal-avatar-header-margin-bottom;
box-shadow: none;
img {
width: $modal-avatar-img-width;
margin-right: auto;
margin-left: auto;
box-shadow: $z-depth-2;
}
}
}
}
// Modal notify
&.modal-notify {
.heading {
padding: $modal-notify-heading-padding;
margin: 0;
font-size: $modal-notify-font-size;
color: $white-base;
}
.modal-header {
border: 0;
box-shadow: $z-depth-1;
}
.close {
opacity: 1;
}
.modal-body {
padding: $modal-notify-body-padding;
color: $grey-darken-2;
}
@each $name, $color in $basic {
&.modal-#{$name} {
.modal-header {
background-color: $color;
}
.fas, .fab, .far {
color: $color;
}
.badge {
background-color: $color;
}
.btn {
.fas,
.fab,
.far {
color: #fff;
}
&.btn-outline-#{$name} {
.fas,
.fab,
.far {
color: $color;
}
}
}
}
}
}
}
// Position & Size
.modal {
&.modal-scrolling {
height: min-content;
}
padding-right: 0 !important;
.modal-dialog {
@media (min-width: 768px) {
&.modal-top {
top: 0;
}
&.modal-left {
left: 0;
}
&.modal-right {
right: 0;
}
&.modal-bottom {
bottom: 0;
}
&.modal-top-left {
top: $modal-distance;
left: $modal-distance;
}
&.modal-top-right {
top: $modal-distance;
right: $modal-distance;
}
&.modal-bottom-left {
bottom: $modal-distance;
left: $modal-distance;
}
&.modal-bottom-right {
right: $modal-distance;
bottom: $modal-distance;
}
}
}
&.fade {
&.top:not(.show) .modal-dialog {
transform: $modal-fade-top-transform;
}
&.left:not(.show) .modal-dialog {
transform: $modal-fade-left-transform;
}
&.right:not(.show) .modal-dialog {
transform: $modal-fade-right-transform;
}
&.bottom:not(.show) .modal-dialog {
transform: $modal-fade-bottom-transform;
}
}
@media (min-width: $medium-screen) {
&.modal-scrolling {
position: relative;
.modal-dialog {
position: fixed;
z-index: 1050;
}
}
&.modal-content-clickable {
top: auto;
bottom: auto;
.modal-dialog {
position: fixed;
}
}
.modal-fluid {
width: 100%;
max-width: 100%;
.modal-content {
width: 100%;
}
}
.modal-frame {
position: absolute;
width: 100%;
max-width: 100% !important;
margin: 0 !important;
&.modal-bottom {
bottom: 0;
}
}
.modal-full-height {
position: absolute;
top: 0;
right: 0;
display: flex;
width: $modal-width;
height: auto;
min-height: 100%;
margin: 0;
&.modal-top,
&.modal-bottom {
display: block;
width: 100%;
max-width: 100%;
height: auto;
}
&.modal-top {
bottom: auto;
}
&.modal-bottom {
top: auto;
min-height: 0;
}
.modal-content {
width: 100%;
}
&.modal-lg {
width: 90%;
max-width: 90%;
@media (min-width: $medium-screen) {
width: $modal-full-height-medium-screen;
max-width: $modal-full-height-medium-screen;
}
@media (min-width: $large-screen) {
width: $modal-full-height-large-screen;
max-width: $modal-full-height-large-screen;
}
}
}
.modal-side {
position: absolute;
right: $modal-distance;
bottom: $modal-distance;
width: $modal-width;
margin: 0;
}
}
}
|