185 lines
4.2 KiB
SCSS
185 lines
4.2 KiB
SCSS
.is-modalOpened {
|
|
overflow: hidden;
|
|
|
|
.#{$ns}Modal {
|
|
overflow-x: hidden;
|
|
overflow-y: auto;
|
|
}
|
|
}
|
|
|
|
.#{$ns}Modal {
|
|
position: fixed;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
z-index: $zindex-modal;
|
|
overflow: hidden;
|
|
outline: 0;
|
|
|
|
&-content {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`
|
|
min-height: $Modal-content-minHeight;
|
|
pointer-events: auto;
|
|
background-color: $Modal-bg;
|
|
background-clip: padding-box;
|
|
outline: 0;
|
|
z-index: 2;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
margin-top: $Modal-content-startMarginTop;
|
|
margin-bottom: $gap-md;
|
|
border: $Modal-content-borderWidth solid $Modal-content-borderColor;
|
|
border-radius: $Modal-content-borderRadius;
|
|
|
|
transition: ease-out all 0.3s;
|
|
transform: translateY(-300px) scale(0.2);
|
|
opacity: 0;
|
|
|
|
&.in {
|
|
opacity: 1;
|
|
transform: translateY(0) scale(1);
|
|
}
|
|
}
|
|
|
|
&-overlay {
|
|
transition: ease-out opacity 0.3s;
|
|
position: fixed;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
z-index: 1;
|
|
background-color: $Modal-overlay-bg;
|
|
opacity: 0;
|
|
|
|
&.in {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
&-header {
|
|
padding: $Modal-header-paddingY $Modal-header-paddingX;
|
|
background-color: $Modal-header-bg;
|
|
@include clearfix();
|
|
border-bottom: $Modal-body-borderTop;
|
|
|
|
@if $Modal-content-borderRadius {
|
|
border-top-left-radius: $Modal-content-borderRadius;
|
|
border-top-right-radius: $Modal-content-borderRadius;
|
|
}
|
|
}
|
|
|
|
&-title {
|
|
font-size: $Modal-title-fontSize;
|
|
color: $Modal-title-color;
|
|
}
|
|
|
|
&-close {
|
|
float: right;
|
|
color: $Modal-close-color;
|
|
line-height: inherit;
|
|
text-decoration: none;
|
|
vertical-align: middle;
|
|
svg {
|
|
width: $Modal-close-width;
|
|
height: $Modal-close-width;
|
|
fill: $Modal-close-color;
|
|
}
|
|
|
|
&:not(.is-disabled) {
|
|
cursor: pointer;
|
|
|
|
&:hover {
|
|
text-decoration: none;
|
|
color: $Model-close-onHover-color;
|
|
svg {
|
|
fill: $Model-close-onHover-color;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
&-content > &-close {
|
|
position: absolute;
|
|
right: $gap-md;
|
|
top: $gap-sm;
|
|
z-index: 10;
|
|
}
|
|
|
|
&-body {
|
|
padding: $Modal-body--noHeader-paddingTop $Modal-body-paddingX $Modal-body-paddingY;
|
|
flex-basis: 0;
|
|
flex-grow: 1;
|
|
}
|
|
|
|
&-header + &-body {
|
|
padding-top: $Modal-body-paddingY;
|
|
}
|
|
|
|
&-footer {
|
|
// @include clearfix();
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-end;
|
|
padding: $Modal-footer-padding;
|
|
border-top: $Modal-body-borderBottom;
|
|
margin: $Modal-footer-marginY $Modal-footer-marginX;
|
|
|
|
@if $Modal-content-borderRadius {
|
|
border-bottom-left-radius: $Modal-content-borderRadius;
|
|
border-bottom-right-radius: $Modal-content-borderRadius;
|
|
}
|
|
|
|
.#{$ns}Button {
|
|
margin-left: $gap-sm;
|
|
}
|
|
}
|
|
}
|
|
|
|
@for $i from (2) through 10 {
|
|
.#{$ns}Modal--#{$i}th {
|
|
.#{$ns}Modal-content {
|
|
margin-top: $Modal-content-startMarginTop + ($i - 1) * $Modal-content-stepMarginTop;
|
|
}
|
|
}
|
|
}
|
|
|
|
@include media-breakpoint-up(sm) {
|
|
.#{$ns}Modal-content {
|
|
max-width: $Modal-widthBase;
|
|
}
|
|
|
|
.#{$ns}Modal--sm .#{$ns}Modal-content {
|
|
max-width: $Modal-widthSm;
|
|
}
|
|
|
|
.#{$ns}Modal--base .#{$ns}Modal-content {
|
|
max-width: $Modal-widthBase;
|
|
}
|
|
|
|
.#{$ns}Modal--md .#{$ns}Modal-content {
|
|
max-width: $Modal-widthMd;
|
|
}
|
|
|
|
.#{$ns}Modal--lg .#{$ns}Modal-content {
|
|
max-width: $Modal-widthLg;
|
|
}
|
|
|
|
.#{$ns}Modal--xl .#{$ns}Modal-content {
|
|
max-width: $Modal-widthXl;
|
|
}
|
|
}
|
|
|
|
.#{$ns}Dialog-info {
|
|
flex-basis: 0;
|
|
flex-grow: 1;
|
|
text-align: left;
|
|
}
|
|
|
|
.#{$ns}Dialog-error {
|
|
color: $danger;
|
|
} |