Files
bulma/sass/components/message.scss
2023-02-03 12:25:54 +00:00

197 lines
5.6 KiB
SCSS

@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},
message-status-background-l: 8%,
message-status-color-l: 70%,
message-status-header-background-l: 20%,
)
);
}
.#{$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 {
$base-h: getVar($name, "", "-h");
$base-s: getVar($name, "", "-s");
$base-l: getVar($name, "", "-l");
$invert: getVar($name, "", "-invert");
$base: hsl($base-h, var(--s), var(--l));
&.is-#{$name} {
--base-s: #{$base-s};
--base-l: #{$base-l};
background: none;
.#{$class-prefix}message-header {
background-color: hsl(
$base-h,
var(--base-s),
var(--bulma-message-status-header-background-l)
);
color: $invert;
}
.#{$class-prefix}message-body {
background-color: hsl(
$base-h,
var(--base-s),
var(--bulma-message-status-background-l)
);
color: hsl($base-h, var(--base-s), var(--bulma-message-status-color-l));
}
}
}
// @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");
}
}