mirror of
https://github.com/jgthms/bulma
synced 2026-03-15 02:04:29 -07:00
167 lines
4.9 KiB
SCSS
167 lines
4.9 KiB
SCSS
@import "../utilities/mixins";
|
|
|
|
$modal-z: 40 !default;
|
|
|
|
$modal-background-background-color: bulmaRgba($scheme-invert, 0.86) !default;
|
|
|
|
$modal-content-width: 640px !default;
|
|
$modal-content-margin-mobile: 20px !default;
|
|
$modal-content-spacing-mobile: 160px !default;
|
|
$modal-content-spacing-tablet: 40px !default;
|
|
|
|
$modal-close-dimensions: 40px !default;
|
|
$modal-close-right: 20px !default;
|
|
$modal-close-top: 20px !default;
|
|
|
|
$modal-card-spacing: 40px !default;
|
|
|
|
$modal-card-head-background-color: getVar("background") !default;
|
|
$modal-card-head-border-bottom: 1px solid getVar("border") !default;
|
|
$modal-card-head-padding: 20px !default;
|
|
$modal-card-head-radius: getVar("radius-large") !default;
|
|
|
|
$modal-card-title-color: getVar("text-strong") !default;
|
|
$modal-card-title-line-height: 1 !default;
|
|
$modal-card-title-size: getVar("size-4") !default;
|
|
|
|
$modal-card-foot-radius: getVar("radius-large") !default;
|
|
$modal-card-foot-border-top: 1px solid getVar("border") !default;
|
|
|
|
$modal-card-body-background-color: getVar("scheme-main") !default;
|
|
$modal-card-body-padding: 20px !default;
|
|
|
|
$modal-breakpoint: $tablet !default;
|
|
|
|
:root {
|
|
@include register-vars(
|
|
(
|
|
modal-z: #{$modal-z},
|
|
modal-background-background-color: #{$modal-background-background-color},
|
|
modal-content-width: #{$modal-content-width},
|
|
modal-content-margin-mobile: #{$modal-content-margin-mobile},
|
|
modal-content-spacing-mobile: #{$modal-content-spacing-mobile},
|
|
modal-content-spacing-tablet: #{$modal-content-spacing-tablet},
|
|
modal-close-dimensions: #{$modal-close-dimensions},
|
|
modal-close-right: #{$modal-close-right},
|
|
modal-close-top: #{$modal-close-top},
|
|
modal-card-spacing: #{$modal-card-spacing},
|
|
modal-card-head-background-color: #{$modal-card-head-background-color},
|
|
modal-card-head-border-bottom: #{$modal-card-head-border-bottom},
|
|
modal-card-head-padding: #{$modal-card-head-padding},
|
|
modal-card-head-radius: #{$modal-card-head-radius},
|
|
modal-card-title-color: #{$modal-card-title-color},
|
|
modal-card-title-line-height: #{$modal-card-title-line-height},
|
|
modal-card-title-size: #{$modal-card-title-size},
|
|
modal-card-foot-radius: #{$modal-card-foot-radius},
|
|
modal-card-foot-border-top: #{$modal-card-foot-border-top},
|
|
modal-card-body-background-color: #{$modal-card-body-background-color},
|
|
modal-card-body-padding: #{$modal-card-body-padding},
|
|
)
|
|
);
|
|
}
|
|
|
|
.#{$class-prefix}modal {
|
|
@extend %overlay;
|
|
|
|
align-items: center;
|
|
display: none;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
overflow: hidden;
|
|
position: fixed;
|
|
z-index: getVar("modal-z");
|
|
|
|
// Modifiers
|
|
&.is-active {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
.#{$class-prefix}modal-background {
|
|
@extend %overlay;
|
|
|
|
background-color: getVar("modal-background-background-color");
|
|
}
|
|
|
|
.#{$class-prefix}modal-content,
|
|
.#{$class-prefix}modal-card {
|
|
margin: 0 getVar("modal-content-margin-mobile");
|
|
max-height: calc(100vh - #{getVar("modal-content-spacing-mobile")});
|
|
overflow: auto;
|
|
position: relative;
|
|
width: 100%;
|
|
|
|
// Responsiveness
|
|
@include from($modal-breakpoint) {
|
|
margin: 0 auto;
|
|
max-height: calc(100vh - #{getVar("modal-content-spacing-tablet")});
|
|
width: getVar("modal-content-width");
|
|
}
|
|
}
|
|
|
|
.#{$class-prefix}modal-close {
|
|
@extend %delete;
|
|
|
|
background: none;
|
|
height: getVar("modal-close-dimensions");
|
|
position: fixed;
|
|
@include ltr-position(getVar("modal-close-right"));
|
|
top: getVar("modal-close-top");
|
|
width: getVar("modal-close-dimensions");
|
|
}
|
|
|
|
.#{$class-prefix}modal-card {
|
|
display: flex;
|
|
flex-direction: column;
|
|
max-height: calc(100vh - #{getVar("modal-card-spacing")});
|
|
overflow: hidden;
|
|
-ms-overflow-y: visible;
|
|
}
|
|
|
|
.#{$class-prefix}modal-card-head,
|
|
.#{$class-prefix}modal-card-foot {
|
|
align-items: center;
|
|
background-color: getVar("modal-card-head-background-color");
|
|
display: flex;
|
|
flex-shrink: 0;
|
|
justify-content: flex-start;
|
|
padding: getVar("modal-card-head-padding");
|
|
position: relative;
|
|
}
|
|
|
|
.#{$class-prefix}modal-card-head {
|
|
border-bottom: getVar("modal-card-head-border-bottom");
|
|
border-top-left-radius: getVar("modal-card-head-radius");
|
|
border-top-right-radius: getVar("modal-card-head-radius");
|
|
}
|
|
|
|
.#{$class-prefix}modal-card-title {
|
|
color: getVar("modal-card-title-color");
|
|
flex-grow: 1;
|
|
flex-shrink: 0;
|
|
font-size: getVar("modal-card-title-size");
|
|
line-height: getVar("modal-card-title-line-height");
|
|
}
|
|
|
|
.#{$class-prefix}modal-card-foot {
|
|
border-bottom-left-radius: getVar("modal-card-foot-radius");
|
|
border-bottom-right-radius: getVar("modal-card-foot-radius");
|
|
border-top: getVar("modal-card-foot-border-top");
|
|
|
|
.#{$class-prefix}button {
|
|
&:not(:last-child) {
|
|
@include ltr-property("margin", 0.5em);
|
|
}
|
|
}
|
|
}
|
|
|
|
.#{$class-prefix}modal-card-body {
|
|
@include overflow-touch;
|
|
|
|
background-color: getVar("modal-card-body-background-color");
|
|
flex-grow: 1;
|
|
flex-shrink: 1;
|
|
overflow: auto;
|
|
padding: getVar("modal-card-body-padding");
|
|
}
|