@import "../utilities/mixins"; $modal-z: 40 !default; $modal-background-background-color: bulmaRgba( getVar("shadow-color-rgb"), 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"); }