183 lines
5.5 KiB
SCSS
183 lines
5.5 KiB
SCSS
@use "../utilities/css-variables" as cv;
|
|
@use "../utilities/derived-variables" as dv;
|
|
@use "../utilities/initial-variables" as iv;
|
|
@use "../utilities/extends";
|
|
@use "../utilities/mixins" as mx;
|
|
|
|
$message-h: cv.getVar("scheme-h");
|
|
$message-s: cv.getVar("scheme-s");
|
|
$message-background-l: cv.getVar("background-l");
|
|
$message-border-l: cv.getVar("border-l");
|
|
$message-border-l-delta: -20% !default;
|
|
$message-border-style: solid;
|
|
$message-border-width: 0.25em;
|
|
$message-color-l: cv.getVar("text-l");
|
|
$message-header-background-l: cv.getVar("dark-l");
|
|
$message-header-color-l: cv.getVar("text-dark-invert-l");
|
|
$message-radius: cv.getVar("radius") !default;
|
|
|
|
$message-header-weight: cv.getVar("weight-semibold") !default;
|
|
$message-header-padding: 1em 1.25em !default;
|
|
$message-header-radius: cv.getVar("radius") !default;
|
|
|
|
$message-body-border-width: 0 0 0 4px !default;
|
|
$message-body-color: cv.getVar("text") !default;
|
|
$message-body-padding: 1.25em 1.5em !default;
|
|
$message-body-radius: cv.getVar("radius-small") !default;
|
|
|
|
$message-body-pre-code-background-color: transparent !default;
|
|
|
|
$message-header-body-border-width: 0 !default;
|
|
$message-colors: dv.$colors !default;
|
|
|
|
.#{iv.$class-prefix}message {
|
|
@include cv.register-vars(
|
|
(
|
|
"message-border-l-delta": #{$message-border-l-delta},
|
|
"message-radius": #{$message-radius},
|
|
"message-header-weight": #{$message-header-weight},
|
|
"message-header-padding": #{$message-header-padding},
|
|
"message-header-radius": #{$message-header-radius},
|
|
"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-code-background-color": #{$message-body-pre-code-background-color},
|
|
"message-header-body-border-width": #{$message-header-body-border-width},
|
|
"message-h": #{$message-h},
|
|
"message-s": #{$message-s},
|
|
"message-background-l": #{$message-background-l},
|
|
"message-border-l": #{$message-border-l},
|
|
"message-border-style": #{$message-border-style},
|
|
"message-border-width": #{$message-border-width},
|
|
"message-color-l": #{$message-color-l},
|
|
"message-header-background-l": #{$message-header-background-l},
|
|
"message-header-color-l": #{$message-header-color-l},
|
|
)
|
|
);
|
|
}
|
|
|
|
.#{iv.$class-prefix}message {
|
|
@extend %block;
|
|
border-radius: cv.getVar("message-radius");
|
|
color: hsl(
|
|
#{cv.getVar("message-h")},
|
|
#{cv.getVar("message-s")},
|
|
#{cv.getVar("message-color-l")}
|
|
);
|
|
font-size: cv.getVar("size-normal");
|
|
|
|
strong {
|
|
color: currentColor;
|
|
}
|
|
|
|
a:not(.#{iv.$class-prefix}button):not(.#{iv.$class-prefix}tag):not(
|
|
.#{iv.$class-prefix}dropdown-item
|
|
) {
|
|
color: currentColor;
|
|
text-decoration: underline;
|
|
}
|
|
|
|
// Sizes
|
|
&.#{iv.$class-prefix}is-small {
|
|
font-size: cv.getVar("size-small");
|
|
}
|
|
|
|
&.#{iv.$class-prefix}is-medium {
|
|
font-size: cv.getVar("size-medium");
|
|
}
|
|
|
|
&.#{iv.$class-prefix}is-large {
|
|
font-size: cv.getVar("size-large");
|
|
}
|
|
|
|
// Colors
|
|
@each $name, $components in $message-colors {
|
|
&.#{iv.$class-prefix}is-#{$name} {
|
|
@include cv.register-vars(
|
|
(
|
|
"message-h": #{cv.getVar($name, "", "-h")},
|
|
"message-s": #{cv.getVar($name, "", "-s")},
|
|
"message-border-l":
|
|
calc(
|
|
#{cv.getVar($name, "", "-l")} + #{cv.getVar(
|
|
"message-border-l-delta"
|
|
)}
|
|
),
|
|
"message-color-l": #{cv.getVar($name, "", "-on-scheme-l")},
|
|
"message-header-background-l": #{cv.getVar($name, "", "-l")},
|
|
"message-header-color-l": #{cv.getVar($name, "", "-invert-l")},
|
|
)
|
|
);
|
|
}
|
|
}
|
|
}
|
|
|
|
.#{iv.$class-prefix}message-header {
|
|
align-items: center;
|
|
background-color: hsl(
|
|
#{cv.getVar("message-h")},
|
|
#{cv.getVar("message-s")},
|
|
#{cv.getVar("message-header-background-l")}
|
|
);
|
|
border-start-start-radius: cv.getVar("message-header-radius");
|
|
border-start-end-radius: cv.getVar("message-header-radius");
|
|
color: hsl(
|
|
#{cv.getVar("message-h")},
|
|
#{cv.getVar("message-s")},
|
|
#{cv.getVar("message-header-color-l")}
|
|
);
|
|
display: flex;
|
|
font-weight: cv.getVar("message-header-weight");
|
|
justify-content: space-between;
|
|
line-height: 1.25;
|
|
padding: cv.getVar("message-header-padding");
|
|
position: relative;
|
|
|
|
.#{iv.$class-prefix}delete {
|
|
flex-grow: 0;
|
|
flex-shrink: 0;
|
|
margin-inline-start: 0.75em;
|
|
}
|
|
|
|
& + .#{iv.$class-prefix}message-body {
|
|
border-width: cv.getVar("message-header-body-border-width");
|
|
border-start-start-radius: 0;
|
|
border-start-end-radius: 0;
|
|
}
|
|
}
|
|
|
|
.#{iv.$class-prefix}message-body {
|
|
background-color: hsl(
|
|
#{cv.getVar("message-h")},
|
|
#{cv.getVar("message-s")},
|
|
#{cv.getVar("message-background-l")}
|
|
);
|
|
border-inline-start-color: hsl(
|
|
#{cv.getVar("message-h")},
|
|
#{cv.getVar("message-s")},
|
|
#{cv.getVar("message-border-l")}
|
|
);
|
|
border-inline-start-style: #{cv.getVar("message-border-style")};
|
|
border-inline-start-width: #{cv.getVar("message-border-width")};
|
|
border-radius: cv.getVar("message-body-radius");
|
|
padding: cv.getVar("message-body-padding");
|
|
|
|
code,
|
|
pre {
|
|
background-color: hsl(
|
|
#{cv.getVar("message-h")},
|
|
#{cv.getVar("message-s")},
|
|
#{cv.getVar("message-header-color-l")}
|
|
);
|
|
color: hsl(
|
|
#{cv.getVar("message-h")},
|
|
#{cv.getVar("message-s")},
|
|
#{cv.getVar("message-header-background-l")}
|
|
);
|
|
}
|
|
|
|
pre code {
|
|
background-color: cv.getVar("message-body-pre-code-background-color");
|
|
}
|
|
}
|