@import "../utilities/mixins"; $message-background-color: getVar("background") !default; $message-radius: getVar("radius") !default; $message-header-background-color: getVar("text") !default; $message-header-color: getVar("text-invert") !default; $message-header-weight: getVar("weight-bold") !default; $message-header-padding: 0.75em 1em !default; $message-header-radius: getVar("radius") !default; $message-body-border-color: getVar("border") !default; $message-body-border-width: 0 0 0 4px !default; $message-body-color: getVar("text") !default; $message-body-padding: 1.25em 1.5em !default; $message-body-radius: getVar("radius") !default; $message-body-pre-background-color: getVar("scheme-main") !default; $message-body-pre-code-background-color: transparent !default; $message-header-body-border-width: 0 !default; $message-colors: $colors !default; :root { @include register-vars( ( message-background-color: #{$message-background-color}, message-radius: #{$message-radius}, message-header-background-color: #{$message-header-background-color}, message-header-color: #{$message-header-color}, message-header-weight: #{$message-header-weight}, message-header-padding: #{$message-header-padding}, message-header-radius: #{$message-header-radius}, message-body-border-color: #{$message-body-border-color}, message-body-border-width: #{$message-body-border-width}, message-body-color: #{$message-body-color}, message-body-padding: #{$message-body-padding}, message-body-radius: #{$message-body-radius}, message-body-pre-background-color: #{$message-body-pre-background-color}, message-body-pre-code-background-color: #{$message-body-pre-code-background-color}, message-header-body-border-width: #{$message-header-body-border-width}, ) ); } .#{$class-prefix}message { @extend %block; background-color: getVar("message-background-color"); border-radius: getVar("message-radius"); font-size: getVar("size-normal"); strong { color: currentColor; } a:not(.#{$class-prefix}button):not(.#{$class-prefix}tag):not(.#{$class-prefix}dropdown-item) { color: currentColor; text-decoration: underline; } // Sizes &.is-small { font-size: getVar("size-small"); } &.is-medium { font-size: getVar("size-medium"); } &.is-large { font-size: getVar("size-large"); } // Colors // TODO @each $name, $components in $message-colors { $color: nth($components, 1); $color-invert: nth($components, 2); $color-light: null; $color-dark: null; @if length($components) >= 3 { $color-light: nth($components, 3); @if length($components) >= 4 { $color-dark: nth($components, 4); } @else { $color-luminance: colorLuminance($color); $darken-percentage: $color-luminance * 70%; $desaturate-percentage: $color-luminance * 30%; $color-dark: desaturate( darken($color, $darken-percentage), $desaturate-percentage ); } } @else { $color-lightning: max(100% - lightness($color) - 2%, 0%); $color-light: lighten($color, $color-lightning); } &.is-#{$name} { background-color: $color-light; .#{$class-prefix}message-header { background-color: $color; color: $color-invert; } .#{$class-prefix}message-body { border-color: $color; color: $color-dark; } } } } .#{$class-prefix}message-header { align-items: center; background-color: getVar("message-header-background-color"); border-radius: getVar("message-header-radius") getVar("message-header-radius") 0 0; color: getVar("message-header-color"); display: flex; font-weight: getVar("message-header-weight"); justify-content: space-between; line-height: 1.25; padding: getVar("message-header-padding"); position: relative; .#{$class-prefix}delete { flex-grow: 0; flex-shrink: 0; @include ltr-property("margin", 0.75em, false); } & + .#{$class-prefix}message-body { border-width: getVar("message-header-body-border-width"); border-top-left-radius: 0; border-top-right-radius: 0; } } .#{$class-prefix}message-body { border-color: getVar("message-body-border-color"); border-radius: getVar("message-body-radius"); border-style: solid; border-width: getVar("message-body-border-width"); color: getVar("message-body-color"); padding: getVar("message-body-padding"); code, pre { background-color: getVar("message-body-pre-background-color"); } pre code { background-color: getVar("message-body-pre-code-background-color"); } }