Files
bulma/sass/components/message.scss

162 lines
4.6 KiB
SCSS
Raw Normal View History

2022-11-23 17:44:02 +00:00
@import "../utilities/mixins";
2022-12-06 00:47:43 +00:00
$message-background-color: getVar("background") !default;
$message-radius: getVar("radius") !default;
2022-11-23 17:44:02 +00:00
2022-12-06 00:47:43 +00:00
$message-header-background-color: getVar("text") !default;
$message-header-color: getVar("text-invert") !default;
$message-header-weight: getVar("weight-bold") !default;
2022-11-23 17:44:02 +00:00
$message-header-padding: 0.75em 1em !default;
2022-12-06 00:47:43 +00:00
$message-header-radius: getVar("radius") !default;
2022-11-23 17:44:02 +00:00
2022-12-06 00:47:43 +00:00
$message-body-border-color: getVar("border") !default;
2022-11-23 17:44:02 +00:00
$message-body-border-width: 0 0 0 4px !default;
2022-12-06 00:47:43 +00:00
$message-body-color: getVar("text") !default;
2022-11-23 17:44:02 +00:00
$message-body-padding: 1.25em 1.5em !default;
2022-12-06 00:47:43 +00:00
$message-body-radius: getVar("radius") !default;
2022-11-23 17:44:02 +00:00
2022-12-06 00:47:43 +00:00
$message-body-pre-background-color: getVar("scheme-main") !default;
2022-11-23 17:44:02 +00:00
$message-body-pre-code-background-color: transparent !default;
$message-header-body-border-width: 0 !default;
$message-colors: $colors !default;
2022-12-06 00:47:43 +00:00
: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},
)
);
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}message {
2022-11-23 17:44:02 +00:00
@extend %block;
2022-12-06 00:47:43 +00:00
background-color: getVar("message-background-color");
border-radius: getVar("message-radius");
font-size: getVar("size-normal");
2022-11-23 17:44:02 +00:00
strong {
color: currentColor;
}
2022-11-23 22:53:56 +00:00
a:not(.#{$class-prefix}button):not(.#{$class-prefix}tag):not(.#{$class-prefix}dropdown-item) {
2022-11-23 17:44:02 +00:00
color: currentColor;
text-decoration: underline;
}
// Sizes
&.is-small {
2022-12-06 00:47:43 +00:00
font-size: getVar("size-small");
2022-11-23 17:44:02 +00:00
}
&.is-medium {
2022-12-06 00:47:43 +00:00
font-size: getVar("size-medium");
2022-11-23 17:44:02 +00:00
}
&.is-large {
2022-12-06 00:47:43 +00:00
font-size: getVar("size-large");
2022-11-23 17:44:02 +00:00
}
// Colors
2022-12-06 00:47:43 +00:00
// TODO
2022-11-23 17:44:02 +00:00
@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);
2022-11-23 22:53:56 +00:00
} @else {
2022-11-23 17:44:02 +00:00
$color-luminance: colorLuminance($color);
$darken-percentage: $color-luminance * 70%;
$desaturate-percentage: $color-luminance * 30%;
2022-11-23 22:53:56 +00:00
$color-dark: desaturate(
darken($color, $darken-percentage),
$desaturate-percentage
);
2022-11-23 17:44:02 +00:00
}
2022-11-23 22:53:56 +00:00
} @else {
2022-11-23 17:44:02 +00:00
$color-lightning: max(100% - lightness($color) - 2%, 0%);
$color-light: lighten($color, $color-lightning);
}
&.is-#{$name} {
background-color: $color-light;
2022-11-23 22:53:56 +00:00
.#{$class-prefix}message-header {
2022-11-23 17:44:02 +00:00
background-color: $color;
color: $color-invert;
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}message-body {
2022-11-23 17:44:02 +00:00
border-color: $color;
color: $color-dark;
}
}
}
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}message-header {
2022-11-23 17:44:02 +00:00
align-items: center;
2022-12-06 00:47:43 +00:00
background-color: getVar("message-header-background-color");
border-radius: getVar("message-header-radius") getVar("message-header-radius")
0 0;
color: getVar("message-header-color");
2022-11-23 17:44:02 +00:00
display: flex;
2022-12-06 00:47:43 +00:00
font-weight: getVar("message-header-weight");
2022-11-23 17:44:02 +00:00
justify-content: space-between;
line-height: 1.25;
2022-12-06 00:47:43 +00:00
padding: getVar("message-header-padding");
2022-11-23 17:44:02 +00:00
position: relative;
2022-11-23 22:53:56 +00:00
.#{$class-prefix}delete {
2022-11-23 17:44:02 +00:00
flex-grow: 0;
flex-shrink: 0;
@include ltr-property("margin", 0.75em, false);
}
2022-11-23 22:53:56 +00:00
& + .#{$class-prefix}message-body {
2022-12-06 00:47:43 +00:00
border-width: getVar("message-header-body-border-width");
2022-11-23 17:44:02 +00:00
border-top-left-radius: 0;
border-top-right-radius: 0;
}
}
2022-11-23 22:53:56 +00:00
.#{$class-prefix}message-body {
2022-12-06 00:47:43 +00:00
border-color: getVar("message-body-border-color");
border-radius: getVar("message-body-radius");
2022-11-23 17:44:02 +00:00
border-style: solid;
2022-12-06 00:47:43 +00:00
border-width: getVar("message-body-border-width");
color: getVar("message-body-color");
padding: getVar("message-body-padding");
2022-11-23 17:44:02 +00:00
code,
pre {
2022-12-06 00:47:43 +00:00
background-color: getVar("message-body-pre-background-color");
2022-11-23 17:44:02 +00:00
}
pre code {
2022-12-06 00:47:43 +00:00
background-color: getVar("message-body-pre-code-background-color");
2022-11-23 17:44:02 +00:00
}
}