John Cowen 92f0eb3bdc
ui: Re-organize our %h* placeholders (#9584)
We've always had this idea of being able to markup up information
semantically without thinking about what it should look like, then
applying our %h* placeholder styles to control what the information
should look like.

Back when we originally made our set of %h* placeholders, we tried to
follow Structure as much as possible, which defined the largest header
(which we thought would have been the h1 style) as a super large 3.5rem.

Therefore we made our set of %h* placeholders the same as Structure
beginning at a huge 3.5 size. We then re-overwrote those sizes only in
Consul specific CSS files thinking that this was due to us existing
before Structure did.

Lately we saw an extra clue in Structure - the extra large 3.5 header was
called 'h0'.

This commit moves all our headers to use a zero based scale, and
additionally uses our 3 digit scale as opposed to 1 digit (h1 vs h100),
similar to our color scales (note we don't use a hypen, which we can
alter later if need be), which means we can insert additional h150 etc
if need be.

Additional we stop styling our headers globally (h1 { @extend %h100; }
). This means there is no reason not to use headers for marking up
content depending on what it is rather than what it should look like,
and as a consequence means we can be more purposeful in ordering h*
tags.

Lastly, we use the new scale over the entire codebase and update a
couple of places where we were using using header tags due to what the
styleing for them looked like rather than what the meaning/order was.
2021-01-26 17:53:45 +00:00

80 lines
1.5 KiB
SCSS

%informed-action {
& {
border-radius: $decor-radius-200;
border: $decor-border-100;
border-color: $gray-300;
background-color: $white;
}
> div {
border-top-left-radius: $decor-radius-200;
border-top-right-radius: $decor-radius-200;
cursor: default;
}
header {
@extend %h400;
}
header > * {
@extend %typo-inherit;
}
p {
@extend %p2;
color: $black;
}
> ul {
list-style: none;
}
> ul > li > *:hover,
> ul > li > *:focus {
background-color: $gray-100;
}
/* variants */
&.info {
header {
color: $blue-700;
}
header::before {
@extend %with-info-circle-fill-mask, %as-pseudo;
background-color: $blue-500;
margin-right: 5px;
}
> div {
background-color: $blue-010;
}
}
&.dangerous {
header {
color: $red-700;
}
header::before {
@extend %with-alert-triangle-mask, %as-pseudo;
background-color: $red-500;
}
> div {
background-color: $red-010;
}
}
&.warning {
header {
color: $orange-700;
}
header::before {
@extend %with-alert-triangle-mask, %as-pseudo;
background-color: $yellow-500;
margin-right: 5px;
}
> div {
background-color: $yellow-050;
}
}
> ul > .action > * {
color: $blue-500;
}
> ul > .dangerous > * {
@extend %frame-red-300;
}
> ul > .dangerous > *:hover,
> ul > .dangerous > *:focus {
@extend %frame-red-700;
}
}